Skip to content
Snippets Groups Projects
Commit 5c6cdec3 authored by Juliette Engelaere-Lefebvre's avatar Juliette Engelaere-Lefebvre
Browse files

modif du nom de la table des propriétés des tables R pour respecter les bonnes pratique du SGBD

parent 75baab8f
Branches
Tags
No related merge requests found
Pipeline #58786 passed
......@@ -88,15 +88,15 @@ importer_data <- function(table = NULL, schema = NULL, db = "production", server
# on recupere la liste des noms de champs de la table et leurs caracteristiques
champs <- rpostgis::dbTableInfo(conn = con, name = c(schema, table), allinfo = FALSE)
if(DBI::dbExistsTable(conn = con, name = c(schema, ".R_df_defs"))) {
def_table <- DBI::dbReadTable(con, c(schema, ".R_df_defs")) %>%
if(DBI::dbExistsTable(conn = con, name = c(schema, "zz_r_df_def"))) {
def_table <- DBI::dbReadTable(con, c(schema, "zz_r_df_def")) %>%
dplyr::filter(.data$table_nm == table)
if(nrow(def_table)==0) {
message(paste0("Pas de renseignements trouv\u00e9 sur ", table,
" dans la table des propri\u00e9t\u00e9s des dataframes R, un import standard sera r\u00e9alis\u00e9. "))
} else {
sql_query <- paste0("SELECT unnest(df_def[1:1]) as nms, unnest(df_def[2:2]) as defs, unnest(df_def[3:3]) as atts, unnest(df_def[4:4]) as r_nms FROM ",
schema, ".\".R_df_defs\" WHERE table_nm = '", table, "';")
schema, ".\"zz_r_df_def\" WHERE table_nm = '", table, "';")
defs <- dbGetQuery(conn = con, sql_query)
}
} else {
......
......@@ -138,17 +138,17 @@ poster_data <- function(data = NULL,
## Creation de la table des definitions utiles pour le reimport dans R du jeu de donnee------------
# Creation de la table (vide) et de sa structure dans le schema de destination
if (!DBI::dbExistsTable(conn = con, c(schema, ".R_df_defs"), table.only = TRUE)) {
sql_query <- paste0("CREATE TABLE ", schema, ".\".R_df_defs\" (table_nm character varying, df_def text[]);")
if (!DBI::dbExistsTable(conn = con, c(schema, "zz_r_df_def"), table.only = TRUE)) {
sql_query <- paste0("CREATE TABLE ", schema, ".\"zz_r_df_def\" (table_nm character varying, df_def text[]);")
DBI::dbExecute(conn = con, sql_query)
suppressMessages({
rpostgis::dbAddKey(conn = con, c(schema, ".R_df_defs"), colname = "table_nm",
rpostgis::dbAddKey(conn = con, c(schema, "zz_r_df_def"), colname = "table_nm",
type = "primary")
rpostgis::dbComment(conn = con, c(schema, ".R_df_defs"),
rpostgis::dbComment(conn = con, c(schema, "zz_r_df_def"),
comment = "Table holding R dataframes columns definitions (for import/export using rpostgis :: db(Read/Write)DataFrame) or {datalibaba}.")
})
message("Nouvelle table de d\u00e9finition des R dataframes R cr\u00e9\u00e9e : ",
schema, ".\".R_df_defs\".")
schema, ".\"zz_r_df_def\".")
}
# Peuplement de la table des definitions
## >>> normaliser le type units tant que pas géré
......@@ -195,7 +195,7 @@ poster_data <- function(data = NULL,
defs2 <- data.frame(table_nm = table, df_def = defs)
suppressMessages({
rpostgis::pgInsert(con, c(schema, ".R_df_defs"), defs2, upsert.using = "table_nm",
rpostgis::pgInsert(con, c(schema, "zz_r_df_def"), defs2, upsert.using = "table_nm",
row.names = FALSE)
})
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment