From 4baec1003a1cd6f2e67e60ab8a1638d1a00592a9 Mon Sep 17 00:00:00 2001 From: madeliri Date: Thu, 18 Jun 2026 10:27:41 +0300 Subject: [PATCH] 0.18.2 --- app.R | 29 +++++++++++++++++++---------- config/descr.yml | 2 +- 2 files changed, 20 insertions(+), 11 deletions(-) diff --git a/app.R b/app.R index cc93643..90b7f2e 100644 --- a/app.R +++ b/app.R @@ -150,8 +150,8 @@ server <- function(input, output, session) { tagList( strong("Импорт и экспорт данных для выбранной схемы:"), verticalLayout( - downloadButton("downloadData", "Экспорт в .xlsx", style = "width: 250px; margin-top: 5px"), - actionButton("button_upload_data_from_xlsx", "импорт!", icon("file-import", lib = "font-awesome"), style = "width: 250px; margin-top: 10px"), + downloadButton("downloadData", "Экспорт базы в .xlsx", style = "width: 250px; margin-top: 5px"), + actionButton("button_upload_data_from_xlsx", "Импорт базы из .xlsx", icon("file-import", lib = "font-awesome"), style = "width: 250px; margin-top: 10px"), fluid = FALSE ), strong("Дополнительные опции:"), @@ -1262,15 +1262,24 @@ server <- function(input, output, session) { } else { # удаление данных в базе данных по ключам - purrr::walk( - .x = unique(df[[main_key_id]]), - .f = \(main_key) { + # purrr::walk( + # .x = unique(df[[main_key_id]]), + # .f = \(main_key) { - if (main_key %in% unique(df_original[[main_key_id]])) { - DBI::dbExecute(con, glue::glue("DELETE FROM {table_name} WHERE {main_key_id} = '{main_key}'")) - } - } - ) + # if (main_key %in% unique(df_original[[main_key_id]])) { + # DBI::dbExecute(con, glue::glue("DELETE FROM {table_name} WHERE {main_key_id} = '{main_key}'")) + # } + # } + # ) + + # TODO + all_existed_keys <- unique(df_original[[main_key_id]]) + all_new_keys <- unique(df[[main_key_id]]) + + keys_to_delete <- all_existed_keys[all_existed_keys %in% all_new_keys] + keys_to_delete <- paste0("'", keys_to_delete, "'", collapse = ", ") + + DBI::dbExecute(connection(), glue::glue("DELETE FROM {table_name} WHERE \"{main_key_id}\" IN ({keys_to_delete})")) } diff --git a/config/descr.yml b/config/descr.yml index a95c37f..23dc0cc 100644 --- a/config/descr.yml +++ b/config/descr.yml @@ -1,4 +1,4 @@ default: - form_app_version: 0.18.1 + form_app_version: 0.18.2 form_id: formy form_name: FORMY \ No newline at end of file