update existing metadata when using force instead of creating new one

This commit is contained in:
Patrick Schratz 2024-07-24 19:58:06 +02:00
commit 1ad38f05e7
Signed by: pat-s
GPG key ID: 3C6318841EF78925

View file

@ -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