Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
data.nitrates
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
DREAL Pays de la Loire
Centre de Services de la Donnée
Eau et milieux aquatiques
data.nitrates
Commits
6730a950
Commit
6730a950
authored
5 months ago
by
ronan.vignard
Browse files
Options
Downloads
Patches
Plain Diff
Intégration de la connexion dans les fonctions
parent
ed07bd4a
No related branches found
No related tags found
3 merge requests
!24
Passage en version 1.2.0
,
!23
Correctifs + documentation
,
!22
Intégration des paramètres version, last_year et filepath_data_ars
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
R/create_nitrate_analyse_table.R
+93
-0
93 additions, 0 deletions
R/create_nitrate_analyse_table.R
R/create_nitrate_prelevement_table.R
+4
-110
4 additions, 110 deletions
R/create_nitrate_prelevement_table.R
with
97 additions
and
110 deletions
R/create_nitrate_analyse_table.R
0 → 100644
+
93
−
0
View file @
6730a950
# WARNING - Generated by {fusen} from dev/flat_create_tables_sequences.Rmd: do not edit by hand
#' Créer une table d'analyses de nitrates
#'
#' @description Cette fonction crée une table dans une base de données PostgreSQL
#' pour stocker les informations relatives aux analyses de nitrates, incluant
#' les contraintes et les séquences nécessaires.
#'
#' @param version String. Version de la table (par exemple, 'v1').
#' @param last_year Integer. L'année la plus récente incluse dans les données de la table.
#'
#' @return String. Le script SQL utilisé pour créer la table.
#' @export
#' @importFrom datalibaba connect_to_db
create_nitrate_analyse_table
<-
function
(
version
,
last_year
)
{
# Établir une connexion à la base de données PostgreSQL
connexion
<-
datalibaba
::
connect_to_db
(
db
=
"si_eau"
,
user
=
"admin"
)
# Génération de la date du jour
date_now
<-
format
(
Sys.Date
(),
"%d/%m/%Y"
)
# Création du script avec l'ajout des paramètres
sql_script
<-
glue
::
glue
(
"
CREATE TABLE IF NOT EXISTS nitrates.nitrate_analyse_{version}
(
code_analyse serial NOT NULL,
code_intervenant character varying(20),
code_prelevement integer,
code_parametre bigint,
code_fraction_analysee integer,
date_analyse date,
resultat_analyse double precision,
code_remarque integer,
limite_detection double precision,
limite_quantification double precision,
CONSTRAINT pk_nitrate_analyse_{version} PRIMARY KEY (code_analyse),
CONSTRAINT fk_n_fraction_analysee FOREIGN KEY (code_fraction_analysee)
REFERENCES sandre.n_fraction_analysee (code_fraction_analysee) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE SET DEFAULT,
-- CONSTRAINT fk_n_intervenant FOREIGN KEY (code_intervenant)
-- REFERENCES qualite_cours_d_eau.n_intervenant (code_intervenant) MATCH SIMPLE
-- ON UPDATE CASCADE ON DELETE SET DEFAULT,
CONSTRAINT fk_n_remarque FOREIGN KEY (code_remarque)
REFERENCES sandre.n_remarque (code_remarque) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk_parametre FOREIGN KEY (code_parametre)
REFERENCES qualite_cours_d_eau.parametre (code_parametre) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE SET DEFAULT
)
WITH (
OIDS=FALSE
);
ALTER TABLE nitrates.nitrate_analyse_{version}
OWNER TO adminpsql;
GRANT ALL ON TABLE nitrates.nitrate_analyse_{version} TO adminpsql;
GRANT ALL ON TABLE nitrates.nitrate_analyse_{version} TO writer_production;
GRANT SELECT ON TABLE nitrates.nitrate_analyse_{version} TO reader_production;
COMMENT ON TABLE nitrates.nitrate_analyse_{version}
IS 'Table des analyses 2007-{last_year} (version {version} du {date_now})';
COMMENT ON COLUMN nitrates.nitrate_analyse_{version}.code_analyse IS 'Identifiant de l''analyse';
COMMENT ON COLUMN nitrates.nitrate_analyse_{version}.code_intervenant IS 'Identifiant du laboratoire ayant effectu\u00e9 l''analyse';
COMMENT ON COLUMN nitrates.nitrate_analyse_{version}.code_prelevement IS 'Identifiant du pr\u00e9l\u00e8vement';
COMMENT ON COLUMN nitrates.nitrate_analyse_{version}.code_parametre IS 'Identifiant du param\u00e8tre analys\u00e9';
COMMENT ON COLUMN nitrates.nitrate_analyse_{version}.code_fraction_analysee IS 'Identifiant de la fraction analys\u00e9e';
COMMENT ON COLUMN nitrates.nitrate_analyse_{version}.date_analyse IS 'Date de l''analyse';
COMMENT ON COLUMN nitrates.nitrate_analyse_{version}.resultat_analyse IS 'R\u00e9sultat de l''analyse';
COMMENT ON COLUMN nitrates.nitrate_analyse_{version}.code_remarque IS 'Code validant la donn\u00e9e';
COMMENT ON COLUMN nitrates.nitrate_analyse_{version}.limite_detection IS 'Limite de d\u00e9tection';
COMMENT ON COLUMN nitrates.nitrate_analyse_{version}.limite_quantification IS 'Limite de quantification';
CREATE SEQUENCE IF NOT EXISTS nitrates.nitrate_analyse_{version}_code_analyse_seq
INCREMENT 1
START 1
MINVALUE 1
MAXVALUE 2147483647
CACHE 1;
ALTER SEQUENCE nitrates.nitrate_analyse_{version}_code_analyse_seq
OWNER TO adminpsql;
"
)
# Exécution du script dans la base de données
DBI
::
dbExecute
(
connexion
,
sql_script
)
# Fermeture de la connexion à la base de données
DBI
::
dbDisconnect
(
connexion
)
return
(
sql_script
)
}
This diff is collapsed.
Click to expand it.
R/create_nitrate_prelevement_table.R
+
4
−
110
View file @
6730a950
# WARNING - Generated by {fusen} from dev/flat_create_tables.Rmd: do not edit by hand
#' Créer une table d'analyses de nitrates
#'
#' @description Cette fonction crée une table dans une base de données PostgreSQL
#' pour stocker les informations relatives aux analyses de nitrates, incluant
#' les contraintes et les séquences nécessaires.
#'
#' @param version String. Version de la table (par exemple, 'v1').
#' @param last_year Integer. L'année la plus récente incluse dans les données de la table.
#' @param connexion DBIConnection. Connexion active à la base de données PostgreSQL.
#'
#' @return String. Le script SQL utilisé pour créer la table.
#' @export
#' @importFrom datalibaba connect_to_db
#' @examples
#' # Connexion à la base de données
#' connexion <- datalibaba::connect_to_db(db = "si_eau", user = "admin")
#'
#' # Création du script SQL avec la version choisie
#' version <- "v0_16"
#' last_year <- "2023"
#' sql <- create_nitrate_analyse_table(version, last_year, connexion)
create_nitrate_analyse_table
<-
function
(
version
,
last_year
,
connexion
)
{
# Génération de la date du jour
date_now
<-
format
(
Sys.Date
(),
"%d/%m/%Y"
)
# Création du script avec l'ajout des paramètres
sql_script
<-
glue
::
glue
(
"
CREATE TABLE IF NOT EXISTS nitrates.nitrate_analyse_{version}
(
code_analyse serial NOT NULL,
code_intervenant character varying(20),
code_prelevement integer,
code_parametre bigint,
code_fraction_analysee integer,
date_analyse date,
resultat_analyse double precision,
code_remarque integer,
limite_detection double precision,
limite_quantification double precision,
CONSTRAINT pk_nitrate_analyse_{version} PRIMARY KEY (code_analyse),
CONSTRAINT fk_n_fraction_analysee FOREIGN KEY (code_fraction_analysee)
REFERENCES sandre.n_fraction_analysee (code_fraction_analysee) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE SET DEFAULT,
-- CONSTRAINT fk_n_intervenant FOREIGN KEY (code_intervenant)
-- REFERENCES qualite_cours_d_eau.n_intervenant (code_intervenant) MATCH SIMPLE
-- ON UPDATE CASCADE ON DELETE SET DEFAULT,
CONSTRAINT fk_n_remarque FOREIGN KEY (code_remarque)
REFERENCES sandre.n_remarque (code_remarque) MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION,
CONSTRAINT fk_parametre FOREIGN KEY (code_parametre)
REFERENCES qualite_cours_d_eau.parametre (code_parametre) MATCH SIMPLE
ON UPDATE CASCADE ON DELETE SET DEFAULT
)
WITH (
OIDS=FALSE
);
ALTER TABLE nitrates.nitrate_analyse_{version}
OWNER TO adminpsql;
GRANT ALL ON TABLE nitrates.nitrate_analyse_{version} TO adminpsql;
GRANT ALL ON TABLE nitrates.nitrate_analyse_{version} TO writer_production;
GRANT SELECT ON TABLE nitrates.nitrate_analyse_{version} TO reader_production;
COMMENT ON TABLE nitrates.nitrate_analyse_{version}
IS 'Table des analyses 2007-{last_year} (version {version} du {date_now})';
COMMENT ON COLUMN nitrates.nitrate_analyse_{version}.code_analyse IS 'Identifiant de l''analyse';
COMMENT ON COLUMN nitrates.nitrate_analyse_{version}.code_intervenant IS 'Identifiant du laboratoire ayant effectu\u00e9 l''analyse';
COMMENT ON COLUMN nitrates.nitrate_analyse_{version}.code_prelevement IS 'Identifiant du pr\u00e9l\u00e8vement';
COMMENT ON COLUMN nitrates.nitrate_analyse_{version}.code_parametre IS 'Identifiant du param\u00e8tre analys\u00e9';
COMMENT ON COLUMN nitrates.nitrate_analyse_{version}.code_fraction_analysee IS 'Identifiant de la fraction analys\u00e9e';
COMMENT ON COLUMN nitrates.nitrate_analyse_{version}.date_analyse IS 'Date de l''analyse';
COMMENT ON COLUMN nitrates.nitrate_analyse_{version}.resultat_analyse IS 'R\u00e9sultat de l''analyse';
COMMENT ON COLUMN nitrates.nitrate_analyse_{version}.code_remarque IS 'Code validant la donn\u00e9e';
COMMENT ON COLUMN nitrates.nitrate_analyse_{version}.limite_detection IS 'Limite de d\u00e9tection';
COMMENT ON COLUMN nitrates.nitrate_analyse_{version}.limite_quantification IS 'Limite de quantification';
CREATE SEQUENCE IF NOT EXISTS nitrates.nitrate_analyse_{version}_code_analyse_seq
INCREMENT 1
START 1
MINVALUE 1
MAXVALUE 2147483647
CACHE 1;
ALTER SEQUENCE nitrates.nitrate_analyse_{version}_code_analyse_seq
OWNER TO adminpsql;
"
)
# Exécution du script dans la base de données
DBI
::
dbExecute
(
connexion
,
sql_script
)
# Fermeture de la connexion à la base de données
DBI
::
dbDisconnect
(
connexion
)
return
(
sql_script
)
}
# WARNING - Generated by {fusen} from dev/flat_create_tables_sequences.Rmd: do not edit by hand
#' Créer une table de prélèvements de nitrates
#'
...
...
@@ -107,20 +8,13 @@ create_nitrate_analyse_table <- function(version, last_year, connexion) {
#'
#' @param version String. Version de la table (par exemple, 'v1').
#' @param last_year Integer. L'année la plus récente incluse dans les données de la table.
#' @param connexion DBIConnection. Connexion active à la base de données PostgreSQL.
#'
#' @return String. Le script SQL utilisé pour créer la table.
#' @export
#' @importFrom datalibaba connect_to_db
#' @examples
#' # Connexion à la base de données
#' connexion <- datalibaba::connect_to_db(db = "si_eau", user = "admin")
#'
#' # Création du script SQL avec la version choisie
#' version <- "v0_16"
#' last_year <- "2023"
#' sql <- create_nitrate_prelevement_table(version, last_year, connexion)
create_nitrate_prelevement_table
<-
function
(
version
,
last_year
,
connexion
)
{
create_nitrate_prelevement_table
<-
function
(
version
,
last_year
)
{
# Établir une connexion à la base de données PostgreSQL
connexion
<-
datalibaba
::
connect_to_db
(
db
=
"si_eau"
,
user
=
"admin"
)
# Génération de la date du jour
date_now
<-
format
(
Sys.Date
(),
"%d/%m/%Y"
)
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment