CREATE TABLE tmp_pcmn ( pcm_val integer NOT NULL, pcm_lib text, pcm_val_parent integer DEFAULT 0, pcm_country character(2) DEFAULT 'BE'::bpchar NOT NULL ); CREATE TABLE "version" ( val integer ); CREATE SEQUENCE s_periode START 1 INCREMENT 1 MAXVALUE 9223372036854775807 MINVALUE 1 CACHE 1; CREATE SEQUENCE s_currency START 1 INCREMENT 1 MAXVALUE 9223372036854775807 MINVALUE 1 CACHE 1; CREATE TABLE parm_money ( pm_id integer DEFAULT nextval('s_currency'::text), pm_code character(3) NOT NULL, pm_rate double precision ); CREATE TABLE parm_periode ( p_id integer DEFAULT nextval('s_periode'::text) NOT NULL, p_start date NOT NULL, p_end date, p_exercice text DEFAULT to_char(now(), 'YYYY'::text) NOT NULL, p_closed boolean DEFAULT false, p_central boolean DEFAULT false ); CREATE SEQUENCE s_jrn_def START 5 INCREMENT 1 MAXVALUE 9223372036854775807 MINVALUE 1 CACHE 1; CREATE SEQUENCE s_grpt START 1 INCREMENT 1 MAXVALUE 9223372036854775807 MINVALUE 1 CACHE 1; CREATE SEQUENCE s_jrn_op START 1 INCREMENT 1 MAXVALUE 9223372036854775807 MINVALUE 1 CACHE 1; CREATE SEQUENCE s_jrn START 1 INCREMENT 1 MAXVALUE 9223372036854775807 MINVALUE 1 CACHE 1; CREATE TABLE jrn_type ( jrn_type_id character(3) NOT NULL, jrn_desc text ); CREATE TABLE jrn_def ( jrn_def_id integer DEFAULT nextval('s_jrn_def'::text) NOT NULL, jrn_def_name text NOT NULL, jrn_def_class_deb text, jrn_def_class_cred text, jrn_def_fiche_deb text, jrn_def_fiche_cred text, jrn_deb_max_line integer DEFAULT 1, jrn_cred_max_line integer DEFAULT 1, jrn_def_ech boolean DEFAULT false, jrn_def_ech_lib text, jrn_def_type character(3) NOT NULL, jrn_def_code text NOT NULL ); CREATE SEQUENCE s_jrnx START 1 INCREMENT 1 MAXVALUE 9223372036854775807 MINVALUE 1 CACHE 1; CREATE TABLE jrnx ( j_id integer DEFAULT nextval('s_jrn_op'::text) NOT NULL, j_date date DEFAULT now(), j_montant double precision DEFAULT 0, j_poste integer NOT NULL, j_grpt integer NOT NULL, j_rapt text, j_jrn_def integer NOT NULL, j_debit boolean DEFAULT true, j_text text, j_centralized boolean DEFAULT false, j_internal text, j_tech_user text NOT NULL, j_tech_date timestamp without time zone DEFAULT now() NOT NULL, j_tech_per integer ); CREATE TABLE user_pref ( pref_user text NOT NULL, pref_periode integer NOT NULL ); CREATE SEQUENCE s_formdef START 1 INCREMENT 1 MAXVALUE 9223372036854775807 MINVALUE 1 CACHE 1; CREATE SEQUENCE s_form START 1 INCREMENT 1 MAXVALUE 9223372036854775807 MINVALUE 1 CACHE 1; CREATE TABLE formdef ( fr_id integer DEFAULT nextval('s_formdef'::text) NOT NULL, fr_label text ); CREATE TABLE form ( fo_id integer DEFAULT nextval('s_form'::text) NOT NULL, fo_fr_id integer, fo_pos integer, fo_label text, fo_formula text ); CREATE SEQUENCE s_idef START 1 INCREMENT 1 MAXVALUE 9223372036854775807 MINVALUE 1 CACHE 1; CREATE SEQUENCE s_centralized START 1 INCREMENT 1 MAXVALUE 9223372036854775807 MINVALUE 1 CACHE 1; CREATE TABLE centralized ( c_id integer DEFAULT nextval('s_centralized'::text) NOT NULL, c_j_id integer, c_date date NOT NULL, c_internal text NOT NULL, c_montant double precision NOT NULL, c_debit boolean DEFAULT true, c_jrn_def integer NOT NULL, c_poste integer, c_description text, c_grp integer NOT NULL, c_comment text, c_rapt text, c_periode integer, c_order integer ); CREATE SEQUENCE s_user_jrn START 1 INCREMENT 1 MAXVALUE 9223372036854775807 MINVALUE 1 CACHE 1; CREATE SEQUENCE s_user_act START 1 INCREMENT 1 MAXVALUE 9223372036854775807 MINVALUE 1 CACHE 1; CREATE TABLE user_sec_jrn ( uj_id integer DEFAULT nextval('s_user_jrn'::text) NOT NULL, uj_login text, uj_jrn_id integer, uj_priv text ); CREATE TABLE "action" ( ac_id integer NOT NULL, ac_description text NOT NULL ); CREATE TABLE user_sec_act ( ua_id integer DEFAULT nextval('s_user_act'::text) NOT NULL, ua_login text, ua_act_id integer ); CREATE SEQUENCE s_jrnaction START 1 INCREMENT 1 MAXVALUE 9223372036854775807 MINVALUE 1 CACHE 1; CREATE TABLE jrn_action ( ja_id integer DEFAULT nextval('s_jrnaction'::text) NOT NULL, ja_name text NOT NULL, ja_desc text, ja_url text NOT NULL, ja_action text NOT NULL, ja_lang text DEFAULT 'FR'::text, ja_jrn_type character(3) ); CREATE TABLE tva_rate ( tva_id integer NOT NULL, tva_label text NOT NULL, tva_rate double precision DEFAULT 0.0 NOT NULL, tva_comment text, tva_poste text ); CREATE SEQUENCE s_fiche START 1 INCREMENT 1 MAXVALUE 9223372036854775807 MINVALUE 1 CACHE 1; CREATE SEQUENCE s_fiche_def_ref START 1 INCREMENT 1 MAXVALUE 9223372036854775807 MINVALUE 1 CACHE 1; CREATE SEQUENCE s_fdef START 1 INCREMENT 1 MAXVALUE 9223372036854775807 MINVALUE 1 CACHE 1; CREATE SEQUENCE s_attr_def START 1 INCREMENT 1 MAXVALUE 9223372036854775807 MINVALUE 1 CACHE 1; CREATE SEQUENCE s_jnt_fic_att_value START 1 INCREMENT 1 MAXVALUE 9223372036854775807 MINVALUE 1 CACHE 1; CREATE TABLE fiche_def_ref ( frd_id integer DEFAULT nextval('s_fiche_def_ref'::text) NOT NULL, frd_text text, frd_class_base integer ); CREATE TABLE fiche_def ( fd_id integer DEFAULT nextval('s_fdef'::text) NOT NULL, fd_class_base integer, fd_label text NOT NULL, fd_create_account boolean DEFAULT false, frd_id integer NOT NULL ); CREATE TABLE attr_def ( ad_id integer DEFAULT nextval('s_attr_def'::text) NOT NULL, ad_text text ); CREATE TABLE fiche ( f_id integer DEFAULT nextval('s_fiche'::text) NOT NULL, fd_id integer ); CREATE TABLE jnt_fic_att_value ( jft_id integer DEFAULT nextval('s_jnt_fic_att_value'::text) NOT NULL, f_id integer, ad_id integer ); CREATE TABLE attr_value ( jft_id integer, av_text text ); CREATE TABLE jnt_fic_attr ( fd_id integer, ad_id integer ); CREATE SEQUENCE s_jrn_rapt START 1 INCREMENT 1 MAXVALUE 9223372036854775807 MINVALUE 1 CACHE 1; CREATE TABLE jrn_rapt ( jra_id integer DEFAULT nextval('s_jrn_rapt'::text) NOT NULL, jr_id integer NOT NULL, jra_concerned integer NOT NULL ); CREATE VIEW vw_fiche_attr AS SELECT a.f_id, fd_id, a.av_text AS vw_name, b.av_text AS vw_sell, c.av_text AS vw_buy, d.av_text AS tva_code, tva_id, tva_rate, tva_label, e.av_text AS vw_addr, f.av_text AS vw_cp, frd_id FROM ((((((((SELECT f_id, fd_id, av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (ad_id = 1)) a LEFT JOIN (SELECT f_id, av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (ad_id = 6)) b ON ((a.f_id = b.f_id))) LEFT JOIN (SELECT f_id, av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (ad_id = 7)) c ON ((a.f_id = c.f_id))) LEFT JOIN (SELECT f_id, av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (ad_id = 2)) d ON ((a.f_id = d.f_id))) LEFT JOIN (SELECT f_id, av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (ad_id = 14)) e ON ((a.f_id = e.f_id))) LEFT JOIN (SELECT f_id, av_text FROM (((fiche JOIN jnt_fic_att_value USING (f_id)) JOIN attr_value USING (jft_id)) JOIN attr_def USING (ad_id)) WHERE (ad_id = 15)) f ON ((a.f_id = f.f_id))) LEFT JOIN tva_rate ON ((d.av_text = (tva_rate.tva_id)::text))) JOIN fiche_def USING (fd_id)); CREATE SEQUENCE s_stock_goods START 1 INCREMENT 1 MAXVALUE 9223372036854775807 MINVALUE 1 CACHE 1; CREATE TABLE jrn ( jr_id integer DEFAULT nextval('s_jrn'::text) NOT NULL, jr_def_id integer NOT NULL, jr_montant double precision NOT NULL, jr_comment text, jr_date date, jr_grpt_id integer NOT NULL, jr_internal text, jr_tech_date timestamp without time zone DEFAULT now() NOT NULL, jr_tech_per integer NOT NULL, jrn_ech date, jr_ech date, jr_rapt text, jr_valid boolean DEFAULT true, jr_opid integer, jr_c_opid integer, jr_pj oid, jr_pj_name text, jr_pj_type text ); CREATE TABLE stock_goods ( sg_id integer DEFAULT nextval('s_stock_goods'::text) NOT NULL, j_id integer, f_id integer NOT NULL, sg_code text, sg_quantity integer DEFAULT 0, sg_type character(1) DEFAULT 'c'::bpchar NOT NULL, sg_date date, sg_tech_date date DEFAULT now(), sg_tech_user text, CONSTRAINT stock_goods_sg_type CHECK (((sg_type = 'c'::bpchar) OR (sg_type = 'd'::bpchar))) ); CREATE TABLE attr_min ( frd_id integer, ad_id integer ); CREATE SEQUENCE s_central START 1 INCREMENT 1 MAXVALUE 9223372036854775807 MINVALUE 1 CACHE 1; CREATE SEQUENCE s_central_order START 1 INCREMENT 1 MAXVALUE 9223372036854775807 MINVALUE 1 CACHE 1; CREATE SEQUENCE s_internal START 1 INCREMENT 1 MAXVALUE 9223372036854775807 MINVALUE 1 CACHE 1; CREATE SEQUENCE s_jrn_4 START 1 INCREMENT 1 MAXVALUE 9223372036854775807 MINVALUE 1 CACHE 1; CREATE SEQUENCE s_jrn_3 START 1 INCREMENT 1 MAXVALUE 9223372036854775807 MINVALUE 1 CACHE 1; CREATE SEQUENCE s_jrn_2 START 1 INCREMENT 1 MAXVALUE 9223372036854775807 MINVALUE 1 CACHE 1; CREATE SEQUENCE s_jrn_1 START 1 INCREMENT 1 MAXVALUE 9223372036854775807 MINVALUE 1 CACHE 1; CREATE UNIQUE INDEX x_act ON "action" USING btree (ac_description); CREATE UNIQUE INDEX x_usr_jrn ON user_sec_jrn USING btree (uj_login, uj_jrn_id); CREATE INDEX fk_centralized_c_jrn_def ON centralized USING btree (c_jrn_def); CREATE INDEX fk_centralized_c_poste ON centralized USING btree (c_poste); CREATE INDEX fk_fiche_def_frd_id ON fiche_def USING btree (frd_id); CREATE INDEX fk_attr_value_jft_id ON attr_value USING btree (jft_id); CREATE INDEX fk_fiche_fd_id ON fiche USING btree (fd_id); CREATE INDEX fk_form_fo_fr_id ON form USING btree (fo_fr_id); CREATE INDEX fk_jrnx_j_poste ON jrnx USING btree (j_poste); CREATE INDEX fk_jrn_def ON jrnx USING btree (j_jrn_def); CREATE INDEX fk_jrn_action_ja_jrn_type ON jrn_action USING btree (ja_jrn_type); CREATE INDEX fk_user_sec_jrn ON user_sec_jrn USING btree (uj_jrn_id); CREATE INDEX fk_user_sec_act ON user_sec_act USING btree (ua_act_id); CREATE UNIQUE INDEX x_jrn_jr_id ON jrn USING btree (jr_id); CREATE INDEX fk_stock_goods_j_id ON stock_goods USING btree (j_id); CREATE INDEX fk_stock_goods_f_id ON stock_goods USING btree (f_id); CREATE INDEX x_poste ON jrnx USING btree (j_poste); ALTER TABLE ONLY tmp_pcmn ADD CONSTRAINT tmp_pcmn_pkey PRIMARY KEY (pcm_val); ALTER TABLE ONLY parm_money ADD CONSTRAINT parm_money_pkey PRIMARY KEY (pm_code); ALTER TABLE ONLY parm_periode ADD CONSTRAINT parm_periode_pkey PRIMARY KEY (p_id); ALTER TABLE ONLY parm_periode ADD CONSTRAINT parm_periode_p_start_key UNIQUE (p_start); ALTER TABLE ONLY jrn_type ADD CONSTRAINT jrn_type_pkey PRIMARY KEY (jrn_type_id); ALTER TABLE ONLY jrn_def ADD CONSTRAINT jrn_def_pkey PRIMARY KEY (jrn_def_id); ALTER TABLE ONLY jrn_def ADD CONSTRAINT jrn_def_jrn_def_name_key UNIQUE (jrn_def_name); ALTER TABLE ONLY jrnx ADD CONSTRAINT jrnx_pkey PRIMARY KEY (j_id); ALTER TABLE ONLY user_pref ADD CONSTRAINT user_pref_pkey PRIMARY KEY (pref_user); ALTER TABLE ONLY formdef ADD CONSTRAINT formdef_pkey PRIMARY KEY (fr_id); ALTER TABLE ONLY form ADD CONSTRAINT form_pkey PRIMARY KEY (fo_id); ALTER TABLE ONLY centralized ADD CONSTRAINT centralized_pkey PRIMARY KEY (c_id); ALTER TABLE ONLY user_sec_jrn ADD CONSTRAINT user_sec_jrn_pkey PRIMARY KEY (uj_id); ALTER TABLE ONLY "action" ADD CONSTRAINT action_pkey PRIMARY KEY (ac_id); ALTER TABLE ONLY user_sec_act ADD CONSTRAINT user_sec_act_pkey PRIMARY KEY (ua_id); ALTER TABLE ONLY jrn_action ADD CONSTRAINT jrn_action_pkey PRIMARY KEY (ja_id); ALTER TABLE ONLY fiche_def_ref ADD CONSTRAINT fiche_def_ref_pkey PRIMARY KEY (frd_id); ALTER TABLE ONLY fiche_def ADD CONSTRAINT fiche_def_pkey PRIMARY KEY (fd_id); ALTER TABLE ONLY attr_def ADD CONSTRAINT attr_def_pkey PRIMARY KEY (ad_id); ALTER TABLE ONLY fiche ADD CONSTRAINT fiche_pkey PRIMARY KEY (f_id); ALTER TABLE ONLY jnt_fic_att_value ADD CONSTRAINT jnt_fic_att_value_pkey PRIMARY KEY (jft_id); ALTER TABLE ONLY jrn_rapt ADD CONSTRAINT jrn_rapt_pkey PRIMARY KEY (jra_id); ALTER TABLE ONLY jrn ADD CONSTRAINT jrn_pkey PRIMARY KEY (jr_id, jr_def_id); ALTER TABLE ONLY stock_goods ADD CONSTRAINT stock_goods_pkey PRIMARY KEY (sg_id); ALTER TABLE ONLY jrn_def ADD CONSTRAINT "$1" FOREIGN KEY (jrn_def_type) REFERENCES jrn_type(jrn_type_id) ON UPDATE NO ACTION ON DELETE NO ACTION; ALTER TABLE ONLY jrnx ADD CONSTRAINT "$1" FOREIGN KEY (j_poste) REFERENCES tmp_pcmn(pcm_val) ON UPDATE NO ACTION ON DELETE NO ACTION; ALTER TABLE ONLY jrnx ADD CONSTRAINT "$2" FOREIGN KEY (j_jrn_def) REFERENCES jrn_def(jrn_def_id) ON UPDATE NO ACTION ON DELETE NO ACTION; ALTER TABLE ONLY form ADD CONSTRAINT "$1" FOREIGN KEY (fo_fr_id) REFERENCES formdef(fr_id) ON UPDATE NO ACTION ON DELETE NO ACTION; ALTER TABLE ONLY centralized ADD CONSTRAINT "$1" FOREIGN KEY (c_jrn_def) REFERENCES jrn_def(jrn_def_id) ON UPDATE NO ACTION ON DELETE NO ACTION; ALTER TABLE ONLY centralized ADD CONSTRAINT "$2" FOREIGN KEY (c_poste) REFERENCES tmp_pcmn(pcm_val) ON UPDATE NO ACTION ON DELETE NO ACTION; ALTER TABLE ONLY user_sec_jrn ADD CONSTRAINT "$1" FOREIGN KEY (uj_jrn_id) REFERENCES jrn_def(jrn_def_id) ON UPDATE NO ACTION ON DELETE NO ACTION; ALTER TABLE ONLY user_sec_act ADD CONSTRAINT "$1" FOREIGN KEY (ua_act_id) REFERENCES "action"(ac_id) ON UPDATE NO ACTION ON DELETE NO ACTION; ALTER TABLE ONLY jrn_action ADD CONSTRAINT "$1" FOREIGN KEY (ja_jrn_type) REFERENCES jrn_type(jrn_type_id) ON UPDATE NO ACTION ON DELETE NO ACTION; ALTER TABLE ONLY fiche_def ADD CONSTRAINT "$1" FOREIGN KEY (frd_id) REFERENCES fiche_def_ref(frd_id) ON UPDATE NO ACTION ON DELETE NO ACTION; ALTER TABLE ONLY fiche ADD CONSTRAINT "$1" FOREIGN KEY (fd_id) REFERENCES fiche_def(fd_id) ON UPDATE NO ACTION ON DELETE NO ACTION; ALTER TABLE ONLY jnt_fic_att_value ADD CONSTRAINT "$1" FOREIGN KEY (f_id) REFERENCES fiche(f_id) ON UPDATE NO ACTION ON DELETE NO ACTION; ALTER TABLE ONLY jnt_fic_att_value ADD CONSTRAINT "$2" FOREIGN KEY (ad_id) REFERENCES attr_def(ad_id) ON UPDATE NO ACTION ON DELETE NO ACTION; ALTER TABLE ONLY attr_value ADD CONSTRAINT "$1" FOREIGN KEY (jft_id) REFERENCES jnt_fic_att_value(jft_id) ON UPDATE NO ACTION ON DELETE NO ACTION; ALTER TABLE ONLY jnt_fic_attr ADD CONSTRAINT "$1" FOREIGN KEY (fd_id) REFERENCES fiche_def(fd_id) ON UPDATE NO ACTION ON DELETE NO ACTION; ALTER TABLE ONLY jnt_fic_attr ADD CONSTRAINT "$2" FOREIGN KEY (ad_id) REFERENCES attr_def(ad_id) ON UPDATE NO ACTION ON DELETE NO ACTION; ALTER TABLE ONLY jrn ADD CONSTRAINT "$1" FOREIGN KEY (jr_def_id) REFERENCES jrn_def(jrn_def_id) ON UPDATE NO ACTION ON DELETE NO ACTION; ALTER TABLE ONLY attr_min ADD CONSTRAINT "$1" FOREIGN KEY (frd_id) REFERENCES fiche_def_ref(frd_id) ON UPDATE NO ACTION ON DELETE NO ACTION; ALTER TABLE ONLY attr_min ADD CONSTRAINT "$2" FOREIGN KEY (ad_id) REFERENCES attr_def(ad_id) ON UPDATE NO ACTION ON DELETE NO ACTION; COMMENT ON TABLE tmp_pcmn IS 'Plan comptable minimum normalisé'; COMMENT ON TABLE parm_money IS 'Currency conversion'; COMMENT ON TABLE parm_periode IS 'Periode definition'; COMMENT ON TABLE jrn_type IS 'Type of journal (Sell, Buy, Financial...)'; COMMENT ON TABLE jrn_def IS 'Definition of a journal, his properties'; COMMENT ON TABLE jrnx IS 'Journal: content one line for each accountancy writing'; COMMENT ON TABLE form IS 'Forms content'; COMMENT ON TABLE centralized IS 'The centralized journal'; COMMENT ON TABLE "action" IS 'The different privileges'; COMMENT ON TABLE jrn_action IS 'Possible action when we are in journal (menu)'; COMMENT ON TABLE tva_rate IS 'Rate of vat'; COMMENT ON TABLE fiche_def_ref IS 'Family Cards definition'; COMMENT ON TABLE fiche_def IS 'Cards definition'; COMMENT ON TABLE attr_def IS 'The available attributs for the cards'; COMMENT ON TABLE fiche IS 'Cards'; COMMENT ON TABLE jnt_fic_att_value IS 'join between the card and the attribut definition'; COMMENT ON TABLE jnt_fic_attr IS 'join between the family card and the attribut definition'; COMMENT ON TABLE jrn_rapt IS 'Rapprochement between operation'; COMMENT ON TABLE jrn IS 'Journal: content one line for a group of accountancy writing'; COMMENT ON TABLE stock_goods IS 'About the goods'; COMMENT ON TABLE attr_min IS 'The value of attributs for the cards';