diff --git a/R/build-metadata.R b/R/build-metadata.R index 188ccd2..10c7c00 100644 --- a/R/build-metadata.R +++ b/R/build-metadata.R @@ -26,12 +26,8 @@ store_build_metadata <- function( if (nrow(existing_entries) >= 1 && !force) { cli::cli_alert("{.fun store_build_metadata}: Build metadata for {.field {.pkg package_name}} {.field {tag}} already exists.") - } else { - if (!force) { - cli::cli_alert("{.fun store_build_metadata}: Storing build metadata for {.field {package_name}} {.field {tag}}.") - } else { - cli::cli_alert_info("{.fun store_build_metadata}: Force overwriting build metadata for {.field {package_name}} {.field {tag}} because {.code force = TRUE} was set.") - } + } else if (nrow(existing_entries) == 0 && !force) { + cli::cli_alert("{.fun store_build_metadata}: Storing build metadata for {.field {package_name}} {.field {tag}}.") # Create a data frame with the metadata metadata <- data.frame( package_name = package_name, @@ -43,6 +39,10 @@ store_build_metadata <- function( ) # Write the data frame to the SQLite database dbWriteTable(con, "single_builds", metadata, append = TRUE) + } else if (nrow(existing_entries) >= 1 && force) { + cli::cli_alert_info("{.fun store_build_metadata}: Force overwriting build metadata for {.field {package_name}} {.field {tag}} because {.code force = TRUE} was set.") + + dbExecute(con, sprintf("UPDATE single_builds SET build_timestamp = %s WHERE package_name = %s and tag = %s", format(Sys.time(), "%Y-%m-%d %H:%M:%S"), package_name, tag)) } # Close the SQLite connection