From 1ad38f05e78d480e51a4348a0470578d4f5a6cd2 Mon Sep 17 00:00:00 2001 From: pat-s Date: Wed, 24 Jul 2024 19:58:06 +0200 Subject: [PATCH] update existing metadata when using force instead of creating new one --- R/build-metadata.R | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) 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