239 lines
8.2 KiB
Python
239 lines
8.2 KiB
Python
#!/usr/bin/env python3
|
|
# -*- coding: UTF-8 -*-
|
|
from pycen import con_fon
|
|
|
|
d_typinfosite = '''
|
|
CREATE TABLE IF NOT EXISTS sites.d_typinfosite (
|
|
typinfosite_id serial NOT NULL,
|
|
typinfosite_lib varchar(50) NOT NULL COLLATE pg_catalog."default",
|
|
CONSTRAINT d_typinfosite_pkey PRIMARY KEY (typinfosite_id)
|
|
)
|
|
TABLESPACE pg_default;
|
|
|
|
ALTER TABLE IF EXISTS sites.d_typinfosite OWNER to grp_sig;
|
|
GRANT SELECT ON TABLE sites.d_typinfosite TO cen_user;
|
|
GRANT DELETE, INSERT, UPDATE ON TABLE sites.d_typinfosite TO grp_foncier;
|
|
GRANT ALL ON TABLE sites.d_typinfosite TO grp_sig;
|
|
'''
|
|
ins_typinfosite = '''
|
|
INSERT INTO sites.d_typinfosite (typinfosite_lib) VALUES
|
|
('Essentiel'),
|
|
('Historique'),
|
|
('Patrimoine'),
|
|
('Objectifs'),
|
|
('Enjeux')
|
|
;
|
|
'''
|
|
r_sites_infos = '''
|
|
DROP TABLE IF EXISTS sites.r_sites_infos;
|
|
CREATE TABLE IF NOT EXISTS sites.r_sites_infos (
|
|
infosite_id serial NOT NULL,
|
|
site_id varchar(10) NOT NULL,
|
|
typinfosite_id integer NOT NULL,
|
|
site_info text,
|
|
maj_user text,
|
|
maj_date varchar(20),
|
|
CONSTRAINT r_sites_infos_pkey PRIMARY KEY (infosite_id),
|
|
CONSTRAINT r_sites_infos_site_id_fkey FOREIGN KEY (site_id)
|
|
REFERENCES sites.sites (site_id) MATCH SIMPLE
|
|
ON UPDATE NO ACTION
|
|
ON DELETE NO ACTION,
|
|
CONSTRAINT r_sites_infos_typinfosite_id_fkey FOREIGN KEY (typinfosite_id)
|
|
REFERENCES sites.d_typinfosite (typinfosite_id) MATCH SIMPLE
|
|
ON UPDATE NO ACTION
|
|
ON DELETE NO ACTION
|
|
)
|
|
TABLESPACE pg_default;
|
|
|
|
ALTER TABLE IF EXISTS sites.r_sites_infos OWNER to grp_sig;
|
|
GRANT SELECT ON TABLE sites.r_sites_infos TO cen_user;
|
|
GRANT DELETE, INSERT, UPDATE ON TABLE sites.r_sites_infos TO grp_foncier;
|
|
GRANT ALL ON TABLE sites.r_sites_infos TO grp_sig;
|
|
|
|
CREATE INDEX IF NOT EXISTS fki_r_sites_infos_infosite_id_fkey
|
|
ON sites.r_sites_infos USING btree
|
|
(infosite_id ASC NULLS LAST)
|
|
TABLESPACE pg_default;
|
|
|
|
CREATE INDEX IF NOT EXISTS fki_r_sites_infos_site_id_fkey
|
|
ON sites.r_sites_infos USING btree
|
|
(site_id ASC NULLS LAST)
|
|
TABLESPACE pg_default;
|
|
CREATE INDEX IF NOT EXISTS fki_r_sites_infos_typinfosite_id_fkey
|
|
ON sites.r_sites_infos USING btree
|
|
(typinfosite_id ASC NULLS LAST)
|
|
TABLESPACE pg_default;
|
|
'''
|
|
with con_fon.begin() as cnx:
|
|
cnx.execute(d_typinfosite)
|
|
cnx.execute(ins_typinfosite)
|
|
cnx.execute(r_sites_infos)
|
|
|
|
|
|
secteurs = '''
|
|
CREATE TABLE IF NOT EXISTS sites.secteurs (
|
|
id_secteur serial NOT NULL,
|
|
site_id varchar(10) NOT NULL,
|
|
secteur_nom text NOT NULL COLLATE pg_catalog."default",
|
|
CONSTRAINT secteurs_pkey PRIMARY KEY (id_secteur),
|
|
CONSTRAINT secteurs_site_id_fkey FOREIGN KEY (site_id)
|
|
REFERENCES sites.sites (site_id) MATCH SIMPLE
|
|
ON UPDATE NO ACTION
|
|
ON DELETE NO ACTION
|
|
)
|
|
TABLESPACE pg_default;
|
|
|
|
ALTER TABLE IF EXISTS sites.secteurs OWNER to grp_sig;
|
|
GRANT SELECT ON TABLE sites.secteurs TO cen_user;
|
|
GRANT DELETE, INSERT, UPDATE ON TABLE sites.secteurs TO grp_foncier;
|
|
GRANT ALL ON TABLE sites.secteurs TO grp_sig;
|
|
|
|
CREATE INDEX IF NOT EXISTS fki_secteurs_site_id_fkey
|
|
ON sites.secteurs USING btree
|
|
(site_id ASC NULLS LAST)
|
|
TABLESPACE pg_default;
|
|
'''
|
|
|
|
d_typpartenaire = '''
|
|
DROP TABLE IF EXISTS sites.d_typpartenaire;
|
|
CREATE TABLE IF NOT EXISTS sites.d_typpartenaire (
|
|
typpartenaire_id serial NOT NULL,
|
|
typpartenaire_lib text NOT NULL,
|
|
CONSTRAINT d_typpartenaire_pkey PRIMARY KEY (typpartenaire_id)
|
|
)
|
|
TABLESPACE pg_default;
|
|
|
|
ALTER TABLE IF EXISTS sites.d_typpartenaire OWNER to grp_sig;
|
|
GRANT SELECT ON TABLE sites.d_typpartenaire TO cen_user;
|
|
GRANT DELETE, INSERT, UPDATE ON TABLE sites.d_typpartenaire TO grp_foncier;
|
|
GRANT ALL ON TABLE sites.d_typpartenaire TO grp_sig;
|
|
'''
|
|
ins_typpartenaire = '''
|
|
INSERT INTO sites.d_typpartenaire (typpartenaire_lib) VALUES
|
|
('Financeurs'),
|
|
('Partenaires')
|
|
;
|
|
'''
|
|
|
|
r_sites_partenaires = '''
|
|
CREATE TABLE IF NOT EXISTS sites.r_sites_partenaires (
|
|
partenaire_id serial NOT NULL,
|
|
site_id varchar(10) NOT NULL,
|
|
typpartenaire_id integer NOT NULL,
|
|
maj_user text,
|
|
maj_date varchar(20),
|
|
CONSTRAINT r_sites_partenaires_pkey PRIMARY KEY (partenaire_id,site_id,typpartenaire_id),
|
|
CONSTRAINT r_sites_partenaires_site_id_fkey FOREIGN KEY (site_id)
|
|
REFERENCES sites.sites (site_id) MATCH SIMPLE
|
|
ON UPDATE NO ACTION
|
|
ON DELETE NO ACTION,
|
|
CONSTRAINT r_sites_partenaires_typpartenaire_id_fkey FOREIGN KEY (typpartenaire_id)
|
|
REFERENCES sites.d_typpartenaire (typpartenaire_id) MATCH SIMPLE
|
|
ON UPDATE NO ACTION
|
|
ON DELETE NO ACTION
|
|
)
|
|
TABLESPACE pg_default;
|
|
|
|
ALTER TABLE IF EXISTS sites.r_sites_partenaires OWNER to grp_sig;
|
|
GRANT SELECT ON TABLE sites.r_sites_partenaires TO cen_user;
|
|
GRANT DELETE, INSERT, UPDATE ON TABLE sites.r_sites_partenaires TO grp_foncier;
|
|
GRANT ALL ON TABLE sites.r_sites_partenaires TO grp_sig;
|
|
|
|
CREATE INDEX IF NOT EXISTS fki_r_sites_partenaires_site_id_fkey
|
|
ON sites.r_sites_partenaires USING btree
|
|
(site_id ASC NULLS LAST)
|
|
TABLESPACE pg_default;
|
|
'''
|
|
|
|
|
|
d_typactnotsite = '''
|
|
CREATE TABLE IF NOT EXISTS sites.d_typactnotsite (
|
|
typactnotsite_id varchar(6) NOT NULL,
|
|
typactnotsite_lib varchar(10) NOT NULL,
|
|
CONSTRAINT d_typactnotsite_pkey PRIMARY KEY (typactnotsite_id)
|
|
)
|
|
TABLESPACE pg_default;
|
|
|
|
ALTER TABLE IF EXISTS sites.d_typactnotsite OWNER to grp_sig;
|
|
GRANT SELECT ON TABLE sites.d_typactnotsite TO cen_user;
|
|
GRANT DELETE, INSERT, UPDATE ON TABLE sites.d_typactnotsite TO grp_foncier;
|
|
GRANT ALL ON TABLE sites.d_typactnotsite TO grp_sig;
|
|
'''
|
|
|
|
actions_sites = '''
|
|
CREATE TABLE IF NOT EXISTS sites.actions_sites (
|
|
action_site_id serial NOT NULL,
|
|
action_site_date varchar(20) NOT NULL,
|
|
action_site_datemef varchar(20) NOT NULL,
|
|
typactnotsite_id varchar(6) NOT NULL,
|
|
action_site_lib text NOT NULL,
|
|
CONSTRAINT actions_sites_pkey PRIMARY KEY (action_site_id),
|
|
CONSTRAINT r_sites_partenaires_typactnotsite_id_fkey FOREIGN KEY (typactnotsite_id)
|
|
REFERENCES sites.d_typactnotsite (typactnotsite_id) MATCH SIMPLE
|
|
ON UPDATE NO ACTION
|
|
ON DELETE NO ACTION
|
|
)
|
|
TABLESPACE pg_default;
|
|
|
|
ALTER TABLE IF EXISTS sites.actions_sites OWNER to grp_sig;
|
|
GRANT SELECT ON TABLE sites.actions_sites TO cen_user;
|
|
GRANT DELETE, INSERT, UPDATE ON TABLE sites.actions_sites TO grp_foncier;
|
|
GRANT ALL ON TABLE sites.actions_sites TO grp_sig;
|
|
'''
|
|
|
|
r_sites_actions = '''
|
|
CREATE TABLE IF NOT EXISTS sites.r_sites_actions (
|
|
action_site_id serial NOT NULL,
|
|
site_id varchar(10) NOT NULL,
|
|
maj_user text,
|
|
maj_date varchar(20),
|
|
actif varchar(1) NOT NULL,
|
|
CONSTRAINT r_sites_actions_pkey PRIMARY KEY (action_site_id,site_id),
|
|
CONSTRAINT r_sites_actions_site_id_fkey FOREIGN KEY (site_id)
|
|
REFERENCES sites.sites (site_id) MATCH SIMPLE
|
|
ON UPDATE NO ACTION
|
|
ON DELETE NO ACTION,
|
|
CONSTRAINT r_sites_actions_action_site_id_fkey FOREIGN KEY (action_site_id)
|
|
REFERENCES sites.actions_sites (action_site_id) MATCH SIMPLE
|
|
ON UPDATE NO ACTION
|
|
ON DELETE NO ACTION
|
|
)
|
|
TABLESPACE pg_default;
|
|
|
|
ALTER TABLE IF EXISTS sites.r_sites_actions OWNER to grp_sig;
|
|
GRANT SELECT ON TABLE sites.r_sites_actions TO cen_user;
|
|
GRANT DELETE, INSERT, UPDATE ON TABLE sites.r_sites_actions TO grp_foncier;
|
|
GRANT ALL ON TABLE sites.r_sites_actions TO grp_sig;
|
|
'''
|
|
|
|
notes_sites = '''
|
|
CREATE TABLE IF NOT EXISTS sites.notes_sites (
|
|
note_site_id serial NOT NULL,
|
|
site_id varchar(10) NOT NULL,
|
|
note_site_date varchar(20) NOT NULL,
|
|
observateur_id integer NOT NULL,
|
|
typactnotsite_id integer NOT NULL,
|
|
note_site_lib text NOT NULL,
|
|
maj_user text,
|
|
maj_date varchar(20),
|
|
CONSTRAINT notes_sites_pkey PRIMARY KEY (note_site_id),
|
|
CONSTRAINT notes_sites_site_id_fkey FOREIGN KEY (site_id)
|
|
REFERENCES sites.sites (site_id) MATCH SIMPLE
|
|
ON UPDATE NO ACTION
|
|
ON DELETE NO ACTION
|
|
)
|
|
TABLESPACE pg_default;
|
|
|
|
ALTER TABLE IF EXISTS sites.notes_sites OWNER to grp_sig;
|
|
GRANT SELECT ON TABLE sites.notes_sites TO cen_user;
|
|
GRANT DELETE, INSERT, UPDATE ON TABLE sites.notes_sites TO grp_foncier;
|
|
GRANT ALL ON TABLE sites.notes_sites TO grp_sig;
|
|
'''
|
|
|
|
|
|
with con_fon.begin() as cnx:
|
|
cnx.execute(d_typactnotsite)
|
|
cnx.execute(actions_sites)
|
|
cnx.execute(r_sites_actions)
|
|
|
|
|