Skip to content
Snippets Groups Projects
Commit b74f9584 authored by SMAH Lisa's avatar SMAH Lisa Committed by Juliette Engelaere-Lefebvre
Browse files

Resolve "Créer une fonction qui récupère les commentaires d'un schéma" vers master

parent ef30bedd
No related branches found
No related tags found
1 merge request!4Resolve "Créer une fonction qui récupère les commentaires d'un schéma" vers master
Package: datalibaba
Title: Interface De Connexion a Une Base Posgres Postgis
Version: 0.0.0.9004
Version: 0.0.0.9005
Authors@R:
c(person(given = "Maël",
family = "Theulière",
......
# datalibaba 0.0.0.9005
- Ajout de la fonction `get_schema_comment()` pour récupérer le descriptif d'un schéma
# datalibaba 0.0.0.9004
- Meilleure gestion des facteurs ( encodage + échappement du caractère spécial " dans les levels)
......
......@@ -73,3 +73,38 @@ commenter_schema <- function(comment = NULL, schema = NULL, db = "public", user
return(invisible(NULL))
}
#' get_schema_comment : Recuperer les commentaires d'un schema sur le SGBD
#'
#' @param schema : Le nom du schema sur le SGBD dont on veut recuperer la description
#' @param db : Le nom de la base qui contient le schema dont on recherche le descriptif.
#' @param user : l'identifiant de l'utilisateur SGBD qui se connecte
#' @param server l'adresse ip du serveur, laisser à NULL pour utiliser le variable d'environnement du .Renviron
#' @return le commentaire recherche dans un dataframe de 3 champs (base, nom_schema, commentaire)
#'
#' @export
#' @importFrom attempt stop_if_not stop_if
#' @importFrom DBI dbGetQuery
#' @importFrom dplyr transmute
#' @importFrom rlang .data
get_schema_comment <- function(schema = NULL, db = "public", user = "does", server = NULL) {
# ouverture de la connexion avec DBI::dbDriver("PostgreSQL")
con <- connect_to_db(db = db, user = user, server = server)
# verification de la validite des arguments
attempt::stop_if(schema, is.null, msg = "L\'argument schema n\'est pas renseign\u00e9. ")
attempt::stop_if_not(schema %in% list_schemas(con), msg = glue::glue("Il n\'y a pas de schema {schema} dans la base de donn\u00e9es. "))
# construction de la requete sql
query <- paste0("SELECT obj_description('", schema, "'::regnamespace) AS commentaire;")
# recupération du commentaire du schema
com <- DBI::dbGetQuery(conn = con, statement = query ) %>%
dplyr::transmute(nom_schema = schema, commentaire = .data$commentaire)
DBI::dbDisconnect(con)
rm(con)
return(com)
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment