-- core/sql/structure/core.postgresql.sql SET client_encoding = 'UTF8'; SET standard_conforming_strings = off; SET check_function_bodies = false; SET client_min_messages = warning; SET escape_string_warning = off; --DROP PROCEDURAL LANGUAGE IF EXISTS plpgsql CASCADE; --CREATE PROCEDURAL LANGUAGE plpgsql; SET search_path = public, pg_catalog; SET default_tablespace = ''; SET default_with_oids = false; CREATE TABLE actions ( id serial NOT NULL, keyword character varying(32) NOT NULL DEFAULT ''::bpchar, label_action character varying(255), id_status character varying(10), is_system character(1) NOT NULL DEFAULT 'N'::bpchar, action_page character varying(255), component CHARACTER VARYING (128), history character(1) NOT NULL DEFAULT 'N'::bpchar, CONSTRAINT actions_pkey PRIMARY KEY (id) ) WITH (OIDS=FALSE); CREATE TABLE docserver_types ( docserver_type_id character varying(32) NOT NULL, docserver_type_label character varying(255) DEFAULT NULL::character varying, enabled character(1) NOT NULL DEFAULT 'Y'::bpchar, fingerprint_mode character varying(32) DEFAULT NULL::character varying, CONSTRAINT docserver_types_pkey PRIMARY KEY (docserver_type_id) ) WITH (OIDS=FALSE); CREATE TABLE docservers ( id serial, docserver_id character varying(32) NOT NULL DEFAULT '1'::character varying, docserver_type_id character varying(32) NOT NULL, device_label character varying(255) DEFAULT NULL::character varying, is_readonly character(1) NOT NULL DEFAULT 'N'::bpchar, size_limit_number bigint NOT NULL DEFAULT (0)::bigint, actual_size_number bigint NOT NULL DEFAULT (0)::bigint, path_template character varying(255) NOT NULL, creation_date timestamp without time zone NOT NULL, coll_id character varying(32) NOT NULL DEFAULT 'coll_1'::character varying, CONSTRAINT docservers_pkey PRIMARY KEY (docserver_id), CONSTRAINT docservers_id_key UNIQUE (id) ) WITH (OIDS=FALSE); CREATE SEQUENCE doctypes_type_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 500 CACHE 1; CREATE TABLE doctypes ( coll_id character varying(32) NOT NULL DEFAULT ''::character varying, type_id integer NOT NULL DEFAULT nextval('doctypes_type_id_seq'::regclass), description character varying(255) NOT NULL DEFAULT ''::character varying, enabled character(1) NOT NULL DEFAULT 'Y'::bpchar, doctypes_first_level_id integer, doctypes_second_level_id integer, retention_final_disposition character varying(255) DEFAULT NULL, retention_rule character varying(15) DEFAULT NULL, duration_current_use integer, CONSTRAINT doctypes_pkey PRIMARY KEY (type_id) ) WITH (OIDS=FALSE); CREATE SEQUENCE history_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; CREATE TABLE history ( id bigint NOT NULL DEFAULT nextval('history_id_seq'::regclass), table_name character varying(32) DEFAULT NULL::character varying, record_id character varying(255) DEFAULT NULL::character varying, event_type character varying(32) NOT NULL, user_id character varying(128) NOT NULL, event_date timestamp without time zone NOT NULL, info text, id_module character varying(50) NOT NULL DEFAULT 'admin'::character varying, remote_ip character varying(32) DEFAULT NULL, event_id character varying(50), CONSTRAINT history_pkey PRIMARY KEY (id) ) WITH (OIDS=FALSE); CREATE SEQUENCE history_batch_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; CREATE TABLE history_batch ( id bigint NOT NULL DEFAULT nextval('history_batch_id_seq'::regclass), module_name character varying(32) DEFAULT NULL::character varying, batch_id bigint DEFAULT NULL::bigint, event_date timestamp without time zone NOT NULL, total_processed bigint DEFAULT NULL::bigint, total_errors bigint DEFAULT NULL::bigint, info text, CONSTRAINT history_batch_pkey PRIMARY KEY (id) ) WITH (OIDS=FALSE); CREATE TABLE parameters ( id character varying(255) NOT NULL, description TEXT, param_value_string TEXT DEFAULT NULL::character varying, param_value_int integer, param_value_date timestamp without time zone, CONSTRAINT parameters_pkey PRIMARY KEY (id) ) WITH (OIDS=FALSE); CREATE SEQUENCE security_security_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 600 CACHE 1; CREATE TABLE "security" ( security_id bigint NOT NULL DEFAULT nextval('security_security_id_seq'::regclass), group_id character varying(32) NOT NULL, coll_id character varying(32) NOT NULL, where_clause text, maarch_comment text, CONSTRAINT security_pkey PRIMARY KEY (security_id) ) WITH (OIDS=FALSE); CREATE TABLE status ( identifier serial, id character varying(10) NOT NULL, label_status character varying(50) NOT NULL, is_system character(1) NOT NULL DEFAULT 'Y'::bpchar, img_filename character varying(255), maarch_module character varying(255) NOT NULL DEFAULT 'apps'::character varying, can_be_searched character(1) NOT NULL DEFAULT 'Y'::bpchar, can_be_modified character(1) NOT NULL DEFAULT 'Y'::bpchar, CONSTRAINT status_pkey PRIMARY KEY (id) ) WITH (OIDS=FALSE); CREATE TABLE status_images ( id serial, image_name character varying(128) NOT NULL, CONSTRAINT status_images_pkey PRIMARY KEY (id) ) WITH (OIDS=FALSE); CREATE TABLE usergroup_content ( user_id character varying(128) NOT NULL, group_id character varying(32) NOT NULL, primary_group character(1) NOT NULL, "role" character varying(255) DEFAULT NULL::character varying, CONSTRAINT usergroup_content_pkey PRIMARY KEY (user_id, group_id) ) WITH (OIDS=FALSE); CREATE TABLE usergroups ( id serial NOT NULL, group_id character varying(32) NOT NULL, group_desc character varying(255), can_index boolean NOT NULL DEFAULT FALSE, indexation_parameters jsonb NOT NULL DEFAULT '{"actions" : [], "entities" : [], "keywords" : []}', CONSTRAINT usergroups_pkey PRIMARY KEY (group_id), CONSTRAINT usergroups_id_key UNIQUE (id) ) WITH (OIDS=FALSE); CREATE TABLE usergroups_services ( group_id character varying NOT NULL, service_id character varying NOT NULL, CONSTRAINT usergroups_services_pkey PRIMARY KEY (group_id, service_id) ) WITH (OIDS=FALSE); CREATE TABLE users ( id serial NOT NULL, user_id character varying(128) NOT NULL, "password" character varying(255) DEFAULT NULL::character varying, firstname character varying(255) DEFAULT NULL::character varying, lastname character varying(255) DEFAULT NULL::character varying, phone character varying(32) DEFAULT NULL::character varying, mail character varying(255) DEFAULT NULL::character varying, initials character varying(32) DEFAULT NULL::character varying, custom_t1 character varying(50) DEFAULT '0'::character varying, custom_t2 character varying(50) DEFAULT NULL::character varying, custom_t3 character varying(50) DEFAULT NULL::character varying, status character varying(10) NOT NULL DEFAULT 'OK'::character varying, change_password character(1) NOT NULL DEFAULT 'Y'::bpchar, password_modification_date timestamp without time zone DEFAULT CURRENT_TIMESTAMP, loginmode character varying(50) DEFAULT NULL::character varying, cookie_key character varying(255) DEFAULT NULL::character varying, cookie_date timestamp without time zone, failed_authentication INTEGER DEFAULT 0, locked_until TIMESTAMP without time zone, external_id jsonb DEFAULT '{}', CONSTRAINT users_pkey PRIMARY KEY (user_id), CONSTRAINT users_id_key UNIQUE (id) ) WITH (OIDS=FALSE); -- modules/attachments/sql/structure/attachments.postgresql.sql CREATE SEQUENCE res_attachment_res_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; CREATE TABLE res_attachments ( res_id bigint NOT NULL DEFAULT nextval('res_attachment_res_id_seq'::regclass), title character varying(255) DEFAULT NULL::character varying, subject text, description text, type_id bigint , format character varying(50) NOT NULL, typist character varying(128) NOT NULL, creation_date timestamp without time zone NOT NULL, author character varying(255) DEFAULT NULL::character varying, identifier character varying(255) DEFAULT NULL::character varying, source character varying(255) DEFAULT NULL::character varying, relation bigint, doc_date timestamp without time zone, docserver_id character varying(32) NOT NULL, path character varying(255) DEFAULT NULL::character varying, filename character varying(255) DEFAULT NULL::character varying, offset_doc character varying(255) DEFAULT NULL::character varying, fingerprint character varying(255) DEFAULT NULL::character varying, filesize bigint, status character varying(10) DEFAULT NULL::character varying, destination character varying(50) DEFAULT NULL::character varying, validation_date timestamp without time zone, effective_date timestamp without time zone, work_batch bigint, origin character varying(50) DEFAULT NULL::character varying, priority character varying(16), initiator character varying(50) DEFAULT NULL::character varying, dest_user character varying(128) DEFAULT NULL::character varying, coll_id character varying(32) NOT NULL, res_id_master bigint, attachment_type character varying(255) DEFAULT NULL::character varying, dest_contact_id bigint, dest_address_id bigint, updated_by character varying(128) DEFAULT NULL::character varying, is_multicontacts character(1), is_multi_docservers character(1) NOT NULL DEFAULT 'N'::bpchar, tnl_path character varying(255) DEFAULT NULL::character varying, tnl_filename character varying(255) DEFAULT NULL::character varying, in_signature_book boolean DEFAULT FALSE, in_send_attach boolean DEFAULT FALSE, signatory_user_serial_id int, fulltext_result character varying(10) DEFAULT NULL::character varying, external_id jsonb DEFAULT '{}', CONSTRAINT res_attachments_pkey PRIMARY KEY (res_id) ) WITH (OIDS=FALSE); CREATE TABLE adr_attachments ( id serial NOT NULL, res_id bigint NOT NULL, type character varying(32) NOT NULL, docserver_id character varying(32) NOT NULL, path character varying(255) NOT NULL, filename character varying(255) NOT NULL, fingerprint character varying(255) DEFAULT NULL::character varying, CONSTRAINT adr_attachments_pkey PRIMARY KEY (id), CONSTRAINT adr_attachments_unique_key UNIQUE (res_id, type) ) WITH (OIDS=FALSE); -- modules/basket/sql/structure/basket.postgresql.sql CREATE TABLE actions_groupbaskets ( id_action bigint NOT NULL, where_clause text, group_id character varying(32) NOT NULL, basket_id character varying(32) NOT NULL, used_in_basketlist character(1) NOT NULL DEFAULT 'Y'::bpchar, used_in_action_page character(1) NOT NULL DEFAULT 'Y'::bpchar, default_action_list character(1) NOT NULL DEFAULT 'N'::bpchar, CONSTRAINT actions_groupbaskets_pkey PRIMARY KEY (id_action, group_id, basket_id) ) WITH (OIDS=FALSE); CREATE TABLE baskets ( id serial NOT NULL, coll_id character varying(32) NOT NULL, basket_id character varying(32) NOT NULL, basket_name character varying(255) NOT NULL, basket_desc character varying(255) NOT NULL, basket_clause text NOT NULL, is_visible character(1) NOT NULL DEFAULT 'Y'::bpchar, enabled character(1) NOT NULL DEFAULT 'Y'::bpchar, basket_order integer, color character varying(16), basket_res_order character varying(255) NOT NULL DEFAULT 'res_id desc', flag_notif character varying(1), CONSTRAINT baskets_pkey PRIMARY KEY (coll_id, basket_id), CONSTRAINT baskets_unique_key UNIQUE (id) ) WITH (OIDS=FALSE); CREATE TABLE basket_persistent_mode ( res_id bigint, user_id character varying(128), is_persistent character varying(1) ) WITH ( OIDS=FALSE ); CREATE TABLE res_mark_as_read ( res_id bigint, user_id character varying(128), basket_id character varying(32) ) WITH ( OIDS=FALSE ); CREATE TABLE groupbasket ( id serial NOT NULL, group_id character varying(32) NOT NULL, basket_id character varying(32) NOT NULL, list_display json DEFAULT '[]', list_event character varying(255), CONSTRAINT groupbasket_pkey PRIMARY KEY (group_id, basket_id), CONSTRAINT groupbasket_unique_key UNIQUE (id) ) WITH (OIDS=FALSE); CREATE TABLE redirected_baskets ( id serial NOT NULL, actual_user_id INTEGER NOT NULL, owner_user_id INTEGER NOT NULL, basket_id character varying(255) NOT NULL, group_id INTEGER NOT NULL, CONSTRAINT redirected_baskets_pkey PRIMARY KEY (id), CONSTRAINT redirected_baskets_unique_key UNIQUE (owner_user_id, basket_id, group_id) ) WITH (OIDS=FALSE); -- modules/entities/sql/structure/entities.postgresql.sql CREATE TABLE entities ( id serial NOT NULL, entity_id character varying(32) NOT NULL, entity_label character varying(255), short_label character varying(50), entity_full_name text, enabled character(1) NOT NULL DEFAULT 'Y'::bpchar, adrs_1 character varying(255), adrs_2 character varying(255), adrs_3 character varying(255), zipcode character varying(32), city character varying(255), country character varying(255), email character varying(255), business_id character varying(32), parent_entity_id character varying(32), entity_type character varying(64), ldap_id character varying(255), archival_agency character varying(255), archival_agreement character varying(255), folder_import character varying(64), CONSTRAINT entities_pkey PRIMARY KEY (entity_id), CONSTRAINT entities_folder_import_unique_key UNIQUE (folder_import) ) WITH (OIDS=FALSE); CREATE SEQUENCE listinstance_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; CREATE TABLE listinstance ( listinstance_id BIGINT NOT NULL DEFAULT nextval('listinstance_id_seq'::regclass), coll_id character varying(50) NOT NULL, res_id bigint NOT NULL, listinstance_type character varying(50) DEFAULT 'DOC'::character varying, "sequence" bigint NOT NULL, item_id character varying(128) NOT NULL, item_type character varying(255) NOT NULL, item_mode character varying(50) NOT NULL, added_by_user character varying(128) NOT NULL, added_by_entity character varying(50) NOT NULL, visible character varying(1) NOT NULL DEFAULT 'Y'::bpchar, viewed bigint, difflist_type character varying(50), process_date timestamp without time zone, process_comment character varying(255), signatory boolean default false, requested_signature boolean default false, CONSTRAINT listinstance_pkey PRIMARY KEY (listinstance_id) ) WITH (OIDS=FALSE); CREATE TABLE listmodels ( id serial NOT NULL, object_id character varying(50) NOT NULL, object_type character varying(255) NOT NULL, "sequence" bigint NOT NULL, item_id character varying(128) NOT NULL, item_type character varying(255) NOT NULL, item_mode character varying(50) NOT NULL, title character varying(255), description character varying(255), process_comment character varying(255), visible character varying(1) NOT NULL DEFAULT 'Y'::bpchar ) WITH (OIDS=FALSE); CREATE TABLE difflist_types ( difflist_type_id character varying(50) NOT NULL, difflist_type_label character varying(100) NOT NULL, difflist_type_roles TEXT, allow_entities character varying(1) NOT NULL DEFAULT 'N'::bpchar, is_system character varying(1) NOT NULL DEFAULT 'N'::bpchar, CONSTRAINT "difflist_types_pkey" PRIMARY KEY (difflist_type_id) ) WITH ( OIDS=FALSE ); CREATE TABLE users_entities ( user_id character varying(128) NOT NULL, entity_id character varying(32) NOT NULL, user_role character varying(255), primary_entity character(1) NOT NULL DEFAULT 'N'::bpchar, CONSTRAINT users_entities_pkey PRIMARY KEY (user_id, entity_id) ) WITH (OIDS=FALSE); CREATE SEQUENCE groupbasket_redirect_system_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 600 CACHE 1; CREATE TABLE groupbasket_redirect ( system_id integer NOT NULL DEFAULT nextval('groupbasket_redirect_system_id_seq'::regclass), group_id character varying(32) NOT NULL, basket_id character varying(32) NOT NULL, action_id int NOT NULL, entity_id character varying(32), keyword character varying(255), redirect_mode character varying(32) NOT NULL, CONSTRAINT groupbasket_redirect_pkey PRIMARY KEY (system_id) ) WITH (OIDS=FALSE); CREATE SEQUENCE email_signatures_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 7 CACHE 1; CREATE TABLE users_email_signatures ( id bigint NOT NULL DEFAULT nextval('email_signatures_id_seq'::regclass), user_id character varying(255) NOT NULL, html_body text NOT NULL, title character varying NOT NULL, CONSTRAINT email_signatures_pkey PRIMARY KEY (id) ) WITH ( OIDS=FALSE ); /* FOLDERS */ CREATE TABLE folders ( id serial NOT NULL, label character varying(255) NOT NULL, public boolean NOT NULL, user_id INTEGER NOT NULL, parent_id INTEGER, level INTEGER NOT NULL, CONSTRAINT folders_pkey PRIMARY KEY (id) ) WITH (OIDS=FALSE); CREATE TABLE resources_folders ( id serial NOT NULL, folder_id INTEGER NOT NULL, res_id INTEGER NOT NULL, CONSTRAINT resources_folders_pkey PRIMARY KEY (id), CONSTRAINT resources_folders_unique_key UNIQUE (folder_id, res_id) ) WITH (OIDS=FALSE); CREATE TABLE entities_folders ( id serial NOT NULL, folder_id INTEGER NOT NULL, entity_id INTEGER NOT NULL, edition boolean NOT NULL, CONSTRAINT entities_folders_pkey PRIMARY KEY (id), CONSTRAINT entities_folders_unique_key UNIQUE (folder_id, entity_id) ) WITH (OIDS=FALSE); -- modules/life_cycle/sql/structure/life_cycle.postgresql.sql CREATE TABLE lc_policies ( policy_id character varying(32) NOT NULL, policy_name character varying(255) NOT NULL, policy_desc character varying(255) NOT NULL, CONSTRAINT lc_policies_pkey PRIMARY KEY (policy_id) ) WITH (OIDS = FALSE); CREATE TABLE lc_cycles ( policy_id character varying(32) NOT NULL, cycle_id character varying(32) NOT NULL, cycle_desc character varying(255) NOT NULL, sequence_number integer NOT NULL, where_clause text, break_key character varying(255) DEFAULT NULL, validation_mode character varying(32) NOT NULL, CONSTRAINT lc_cycle_pkey PRIMARY KEY (policy_id, cycle_id) ) WITH (OIDS = FALSE); CREATE TABLE lc_cycle_steps ( policy_id character varying(32) NOT NULL, cycle_id character varying(32) NOT NULL, cycle_step_id character varying(32) NOT NULL, cycle_step_desc character varying(255) NOT NULL, docserver_type_id character varying(32) NOT NULL, is_allow_failure character(1) NOT NULL DEFAULT 'N'::bpchar, step_operation character varying(32) NOT NULL, sequence_number integer NOT NULL, is_must_complete character(1) NOT NULL DEFAULT 'N'::bpchar, preprocess_script character varying(255) DEFAULT NULL, postprocess_script character varying(255) DEFAULT NULL, CONSTRAINT lc_cycle_steps_pkey PRIMARY KEY (policy_id, cycle_id, cycle_step_id, docserver_type_id) ) WITH (OIDS = FALSE); CREATE TABLE lc_stack ( policy_id character varying(32) NOT NULL, cycle_id character varying(32) NOT NULL, cycle_step_id character varying(32) NOT NULL, coll_id character varying(32) NOT NULL, res_id bigint NOT NULL, cnt_retry integer DEFAULT NULL, status character(1) NOT NULL, work_batch bigint, regex character varying(32), CONSTRAINT lc_stack_pkey PRIMARY KEY (policy_id, cycle_id, cycle_step_id, res_id) ) WITH (OIDS = FALSE); CREATE TABLE notes ( id serial, identifier bigint NOT NULL, user_id character varying(128) NOT NULL, creation_date timestamp without time zone NOT NULL, note_text text NOT NULL, type CHARACTER VARYING (32) DEFAULT 'resource' NOT NULL, CONSTRAINT notes_pkey PRIMARY KEY (id) ) WITH (OIDS=FALSE); CREATE SEQUENCE notes_entities_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 20 CACHE 1; CREATE TABLE note_entities ( id bigint NOT NULL DEFAULT nextval('notes_entities_id_seq'::regclass), note_id bigint NOT NULL, item_id character varying(50), CONSTRAINT note_entities_pkey PRIMARY KEY (id) ) WITH (OIDS=FALSE); -- modules/notes/sql/structure/notifications.postgresql.sql CREATE SEQUENCE notifications_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 100 CACHE 1; CREATE TABLE notifications ( notification_sid bigint NOT NULL DEFAULT nextval('notifications_seq'::regclass), notification_id character varying(50) NOT NULL, description character varying(255), is_enabled character varying(1) NOT NULL default 'Y'::bpchar, event_id character varying(255) NOT NULL, notification_mode character varying(30) NOT NULL, template_id bigint, diffusion_type character varying(50) NOT NULL, diffusion_properties text, attachfor_type character varying(50), attachfor_properties character varying(2048), CONSTRAINT notifications_pkey PRIMARY KEY (notification_sid) ) WITH ( OIDS=FALSE ); CREATE SEQUENCE notif_event_stack_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; -- DROP TABLE notif_event_stack CREATE TABLE notif_event_stack ( event_stack_sid bigint NOT NULL DEFAULT nextval('notif_event_stack_seq'::regclass), notification_sid bigint NOT NULL, table_name character varying(50) NOT NULL, record_id character varying(128) NOT NULL, user_id character varying(128) NOT NULL, event_info character varying(255) NOT NULL, event_date timestamp without time zone NOT NULL, exec_date timestamp without time zone, exec_result character varying(50), CONSTRAINT notif_event_stack_pkey PRIMARY KEY (event_stack_sid) ) WITH ( OIDS=FALSE ); CREATE SEQUENCE notif_email_stack_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; -- DROP TABLE notif_email_stack CREATE TABLE notif_email_stack ( email_stack_sid bigint NOT NULL DEFAULT nextval('notif_email_stack_seq'::regclass), sender character varying(255) NOT NULL, reply_to character varying(255), recipient character varying(2000) NOT NULL, cc character varying(2000), bcc character varying(2000), subject character varying(255), html_body text, text_body text, charset character varying(50) NOT NULL, attachments text, module character varying(50) NOT NULL, exec_date timestamp without time zone, exec_result character varying(50), CONSTRAINT notif_email_stack_pkey PRIMARY KEY (email_stack_sid) ) WITH ( OIDS=FALSE ); CREATE SEQUENCE notif_rss_stack_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; CREATE TABLE notif_rss_stack ( rss_stack_sid bigint NOT NULL DEFAULT nextval('notif_rss_stack_seq'::regclass), rss_user_id character varying(128) NOT NULL, rss_event_stack_sid bigint NOT NULL, rss_event_url text, CONSTRAINT notif_rss_stack_pkey PRIMARY KEY (rss_stack_sid ) ) WITH ( OIDS=FALSE ); -- modules/postindexing/sql/structure/postindexing.postgresql.sql -- modules/reports/sql/structure/reports.postgresql.sql CREATE TABLE usergroups_reports ( group_id character varying(32) NOT NULL, report_id character varying(50) NOT NULL, CONSTRAINT usergroups_reports_pkey PRIMARY KEY (group_id, report_id) ) WITH (OIDS=FALSE); -- modules/templates/sql/structure/templates.postgresql.sql CREATE SEQUENCE templates_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 110 CACHE 1; CREATE TABLE templates ( template_id bigint NOT NULL DEFAULT nextval('templates_seq'::regclass), template_label character varying(255) DEFAULT NULL::character varying, template_comment character varying(255) DEFAULT NULL::character varying, template_content text, template_type character varying(32) NOT NULL DEFAULT 'HTML'::character varying, template_path character varying(255), template_file_name character varying(255), template_style character varying(255), template_datasource character varying(32), template_target character varying(255), template_attachment_type character varying(255) DEFAULT NULL::character varying, CONSTRAINT templates_pkey PRIMARY KEY (template_id) ) WITH (OIDS=FALSE); CREATE TABLE templates_association ( id serial, template_id bigint NOT NULL, value_field character varying(255) NOT NULL, CONSTRAINT templates_association_pkey PRIMARY KEY (id) ) WITH ( OIDS=FALSE ); CREATE TABLE templates_doctype_ext ( template_id bigint DEFAULT NULL, type_id integer NOT NULL, is_generated character(1) NOT NULL DEFAULT 'N'::bpchar ) WITH (OIDS=FALSE); -- apps/maarch_entreprise/sql/structure/apps.postgresql.sql CREATE SEQUENCE contact_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 200 CACHE 1; CREATE TABLE contacts ( contact_id bigint NOT NULL DEFAULT nextval('contact_id_seq'::regclass), lastname character varying(255), firstname character varying(255), society character varying(255), function character varying(255), address_num character varying(32) , address_street character varying(255), address_complement character varying(255), address_town character varying(255), address_postal_code character varying(255), address_country character varying(255), email character varying(255), phone character varying(20), other_data text , is_corporate_person character(1) NOT NULL DEFAULT 'Y'::bpchar, user_id character varying(128), title character varying(255), business_id character varying(255), ref_identifier character varying(255), acc_number character varying(50), entity_id character varying(32), contact_type character varying(255) NOT NULL DEFAULT 'letter'::character varying, enabled character(1) NOT NULL DEFAULT 'Y'::bpchar, is_private character varying(1) NOT NULL DEFAULT 'N'::character varying, CONSTRAINT contacts_pkey PRIMARY KEY (contact_id) ) WITH (OIDS=FALSE); CREATE SEQUENCE query_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 10 CACHE 1; -- multicontacts CREATE TABLE contacts_res ( coll_id character varying(32) NOT NULL, res_id bigint NOT NULL, contact_id character varying(128) NOT NULL, address_id bigint NOT NULL, mode character varying NOT NULL DEFAULT 'multi'::character varying ); -- contacts v2 CREATE SEQUENCE contact_types_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 200 CACHE 1; CREATE TABLE contact_types ( id bigint NOT NULL DEFAULT nextval('contact_types_id_seq'::regclass), label character varying(255) NOT NULL, can_add_contact character varying(1) NOT NULL DEFAULT 'Y'::character varying, contact_target character varying(50), CONSTRAINT contact_types_pkey PRIMARY KEY (id) ) WITH (OIDS=FALSE); CREATE SEQUENCE contact_v2_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 100 CACHE 1; CREATE TABLE contacts_v2 ( contact_id bigint NOT NULL DEFAULT nextval('contact_v2_id_seq'::regclass), contact_type bigint NOT NULL, is_corporate_person character(1) DEFAULT 'Y'::bpchar, is_external_contact character(1) DEFAULT 'N'::bpchar, society character varying(255), society_short character varying(32), firstname character varying(255), lastname character varying(255), title character varying(255), function character varying(255), other_data text, user_id character varying(255) NOT NULL, entity_id character varying(32) NOT NULL, creation_date timestamp without time zone NOT NULL, update_date timestamp without time zone, enabled character varying(1) NOT NULL DEFAULT 'Y'::bpchar, CONSTRAINT contacts_v2_pkey PRIMARY KEY (contact_id) ) WITH (OIDS=FALSE); CREATE SEQUENCE contact_purposes_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 100 CACHE 1; CREATE TABLE contact_purposes ( id bigint NOT NULL DEFAULT nextval('contact_purposes_id_seq'::regclass), label character varying(255) NOT NULL, CONSTRAINT contact_purposes_pkey PRIMARY KEY (id) ) WITH (OIDS=FALSE); CREATE SEQUENCE contact_addresses_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 100 CACHE 1; CREATE TABLE contact_addresses ( id bigint NOT NULL DEFAULT nextval('contact_addresses_id_seq'::regclass), contact_id bigint NOT NULL, contact_purpose_id bigint DEFAULT 1, departement character varying(255), firstname character varying(255), lastname character varying(255), title character varying(255), function character varying(255), occupancy character varying(1024), address_num character varying(32) , address_street character varying(255), address_complement character varying(255), address_town character varying(255), address_postal_code character varying(255), address_country character varying(255), phone character varying(20), email character varying(255), website character varying(255), salutation_header character varying(255), salutation_footer character varying(255), other_data character varying(255), user_id character varying(255) NOT NULL, entity_id character varying(32) NOT NULL, is_private character(1) NOT NULL DEFAULT 'N'::bpchar, enabled character varying(1) NOT NULL DEFAULT 'Y'::bpchar, external_id jsonb DEFAULT '{}', ban_id character varying(128), CONSTRAINT contact_addresses_pkey PRIMARY KEY (id) ) WITH (OIDS=FALSE); DROP TABLE IF EXISTS contacts_groups; CREATE TABLE contacts_groups ( id serial, label character varying(32) NOT NULL, description character varying(255) NOT NULL, public boolean NOT NULL, owner integer NOT NULL, entity_owner character varying(32) NOT NULL, CONSTRAINT contacts_groups_pkey PRIMARY KEY (id), CONSTRAINT contacts_groups_key UNIQUE (label, owner) ) WITH (OIDS=FALSE); DROP TABLE IF EXISTS contacts_groups_lists; CREATE TABLE contacts_groups_lists ( id serial, contacts_groups_id integer NOT NULL, contact_addresses_id integer NOT NULL, CONSTRAINT contacts_groups_lists_pkey PRIMARY KEY (id), CONSTRAINT contacts_groups_lists_key UNIQUE (contacts_groups_id, contact_addresses_id) ) WITH (OIDS=FALSE); CREATE TABLE saved_queries ( query_id bigint NOT NULL DEFAULT nextval('query_id_seq'::regclass), user_id character varying(128) default NULL, query_name character varying(255) NOT NULL, creation_date timestamp without time zone NOT NULL, created_by character varying(128) NOT NULL, query_type character varying(50) NOT NULL, query_txt text NOT NULL, last_modification_date timestamp without time zone, CONSTRAINT saved_queries_pkey PRIMARY KEY (query_id) ) WITH (OIDS=FALSE); DROP SEQUENCE IF EXISTS contact_communication_id_seq CASCADE; CREATE SEQUENCE contact_communication_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; DROP TABLE IF EXISTS contact_communication; CREATE TABLE contact_communication ( id bigint NOT NULL DEFAULT nextval('contact_communication_id_seq'::regclass), contact_id bigint NOT NULL, type character varying(255) NOT NULL, value character varying(255) NOT NULL, CONSTRAINT contact_communication_pkey PRIMARY KEY (id) ) WITH (OIDS=FALSE); CREATE SEQUENCE doctypes_first_level_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 200 CACHE 1; CREATE TABLE doctypes_first_level ( doctypes_first_level_id integer NOT NULL DEFAULT nextval('doctypes_first_level_id_seq'::regclass), doctypes_first_level_label character varying(255) NOT NULL, css_style character varying(255), enabled character(1) NOT NULL DEFAULT 'Y'::bpchar, CONSTRAINT doctypes_first_level_pkey PRIMARY KEY (doctypes_first_level_id) ) WITH (OIDS=FALSE); CREATE SEQUENCE doctypes_second_level_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 200 CACHE 1; CREATE TABLE doctypes_second_level ( doctypes_second_level_id integer NOT NULL DEFAULT nextval('doctypes_second_level_id_seq'::regclass), doctypes_second_level_label character varying(255) NOT NULL, doctypes_first_level_id integer NOT NULL, css_style character varying(255), enabled character(1) NOT NULL DEFAULT 'Y'::bpchar, CONSTRAINT doctypes_second_level_pkey PRIMARY KEY (doctypes_second_level_id) ) WITH (OIDS=FALSE); CREATE TABLE tags ( id serial NOT NULL, label character varying(50) NOT NULL, entity_id_owner character varying(32), CONSTRAINT tags_id_pkey PRIMARY KEY (id) ) WITH (OIDS=FALSE); CREATE TABLE tag_res ( res_id bigint NOT NULL, tag_id bigint NOT NULL, CONSTRAINT tag_res_pkey PRIMARY KEY (res_id,tag_id) ) WITH ( OIDS=FALSE ); CREATE TABLE tags_entities ( tag_id bigint, entity_id character varying(32), CONSTRAINT tags_entities_pkey PRIMARY KEY (tag_id,entity_id) ) WITH ( OIDS=FALSE ); CREATE SEQUENCE res_id_mlb_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 100 CACHE 1; CREATE TABLE res_letterbox ( res_id bigint NOT NULL DEFAULT nextval('res_id_mlb_seq'::regclass), title character varying(255) DEFAULT NULL::character varying, subject text, description text, type_id bigint NOT NULL, format character varying(50) NOT NULL, typist character varying(128) NOT NULL, creation_date timestamp without time zone NOT NULL, modification_date timestamp without time zone DEFAULT NOW(), author character varying(255) DEFAULT NULL::character varying, identifier character varying(255) DEFAULT NULL::character varying, source character varying(255) DEFAULT NULL::character varying, relation bigint, doc_date timestamp without time zone, docserver_id character varying(32) NOT NULL, path character varying(255) DEFAULT NULL::character varying, filename character varying(255) DEFAULT NULL::character varying, offset_doc character varying(255) DEFAULT NULL::character varying, fingerprint character varying(255) DEFAULT NULL::character varying, filesize bigint, scan_date timestamp without time zone, scan_user character varying(50) DEFAULT NULL::character varying, scan_location character varying(255) DEFAULT NULL::character varying, scan_wkstation character varying(255) DEFAULT NULL::character varying, scan_batch character varying(50) DEFAULT NULL::character varying, scan_postmark character varying(50) DEFAULT NULL::character varying, status character varying(10) NOT NULL, destination character varying(50) DEFAULT NULL::character varying, validation_date timestamp without time zone, work_batch bigint, origin character varying(50) DEFAULT NULL::character varying, priority character varying(16), policy_id character varying(32) DEFAULT NULL::character varying, cycle_id character varying(32) DEFAULT NULL::character varying, is_multi_docservers character(1) NOT NULL DEFAULT 'N'::bpchar, custom_t1 text, custom_n1 bigint, custom_f1 numeric, custom_d1 timestamp without time zone, custom_t2 character varying(255) DEFAULT NULL::character varying, custom_n2 bigint, custom_f2 numeric, custom_d2 timestamp without time zone, custom_t3 character varying(255) DEFAULT NULL::character varying, custom_n3 bigint, custom_f3 numeric, custom_d3 timestamp without time zone, custom_t4 character varying(255) DEFAULT NULL::character varying, custom_n4 bigint, custom_f4 numeric, custom_d4 timestamp without time zone, custom_t5 character varying(255) DEFAULT NULL::character varying, custom_n5 bigint, custom_f5 numeric, custom_d5 timestamp without time zone, custom_t6 text DEFAULT NULL::character varying, custom_d6 timestamp without time zone, custom_t7 character varying(255) DEFAULT NULL::character varying, custom_d7 timestamp without time zone, custom_t8 character varying(255) DEFAULT NULL::character varying, custom_d8 timestamp without time zone, custom_t9 character varying(255) DEFAULT NULL::character varying, custom_d9 timestamp without time zone, custom_t10 character varying(255) DEFAULT NULL::character varying, custom_d10 timestamp without time zone, custom_t11 character varying(255) DEFAULT NULL::character varying, custom_t12 character varying(255) DEFAULT NULL::character varying, custom_t13 character varying(255) DEFAULT NULL::character varying, custom_t14 character varying(255) DEFAULT NULL::character varying, custom_t15 character varying(255) DEFAULT NULL::character varying, reference_number character varying(255) DEFAULT NULL::character varying, tablename character varying(32) DEFAULT 'res_letterbox'::character varying, initiator character varying(50) DEFAULT NULL::character varying, dest_user character varying(128) DEFAULT NULL::character varying, locker_user_id INTEGER DEFAULT NULL, locker_time timestamp without time zone, confidentiality character(1), fulltext_result character varying(10) DEFAULT NULL::character varying, external_reference character varying(255) DEFAULT NULL::character varying, external_id jsonb DEFAULT '{}', external_link character varying(255) DEFAULT NULL::character varying, departure_date timestamp without time zone, opinion_limit_date timestamp without time zone default NULL, department_number_id text, barcode text, external_signatory_book_id integer, CONSTRAINT res_letterbox_pkey PRIMARY KEY (res_id) ) WITH (OIDS=FALSE); CREATE TABLE adr_letterbox ( id serial NOT NULL, res_id bigint NOT NULL, type character varying(32) NOT NULL, docserver_id character varying(32) NOT NULL, path character varying(255) NOT NULL, filename character varying(255) NOT NULL, fingerprint character varying(255) DEFAULT NULL::character varying, CONSTRAINT adr_letterbox_pkey PRIMARY KEY (id), CONSTRAINT adr_letterbox_unique_key UNIQUE (res_id, type) ) WITH (OIDS=FALSE); CREATE SEQUENCE res_linked_mlb_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 171 CACHE 1; CREATE TABLE res_linked ( id bigint NOT NULL DEFAULT nextval('res_linked_mlb_seq'::regclass), res_parent bigint NOT NULL, res_child bigint NOT NULL, coll_id character varying(50) NOT NULL, CONSTRAINT res_linked_primary PRIMARY KEY (id) ) WITH ( OIDS=FALSE ); CREATE TABLE mlb_coll_ext ( res_id bigint NOT NULL, category_id character varying(50) NOT NULL, exp_contact_id integer default NULL, exp_user_id character varying(128) default NULL, dest_contact_id integer default NULL, dest_user_id character varying(128) default NULL, nature_id character varying(50), alt_identifier character varying(255) default NULL, admission_date timestamp without time zone, process_limit_date timestamp without time zone default NULL, closing_date timestamp without time zone default NULL, alarm1_date timestamp without time zone default NULL, alarm2_date timestamp without time zone default NULL, flag_alarm1 char(1) default 'N'::character varying , flag_alarm2 char(1) default 'N'::character varying, is_multicontacts char(1), address_id bigint )WITH (OIDS=FALSE); CREATE TABLE mlb_doctype_ext ( type_id bigint NOT NULL, process_delay bigint NOT NULL DEFAULT '21', delay1 bigint NOT NULL DEFAULT '14', delay2 bigint NOT NULL DEFAULT '1', process_mode character varying(255), CONSTRAINT type_id PRIMARY KEY (type_id) ) WITH (OIDS=FALSE); CREATE TABLE doctypes_indexes ( type_id bigint NOT NULL, coll_id character varying(32) NOT NULL, field_name character varying(255) NOT NULL, mandatory character(1) NOT NULL DEFAULT 'N'::bpchar, CONSTRAINT doctypes_indexes_pkey PRIMARY KEY (type_id, coll_id, field_name) ) WITH (OIDS=FALSE); CREATE TABLE user_signatures ( id serial, user_serial_id integer NOT NULL, signature_label character varying(255) DEFAULT NULL::character varying, signature_path character varying(255) DEFAULT NULL::character varying, signature_file_name character varying(255) DEFAULT NULL::character varying, fingerprint character varying(255) DEFAULT NULL::character varying, CONSTRAINT user_signatures_pkey PRIMARY KEY (id) ) WITH (OIDS=FALSE); CREATE TABLE priorities ( id character varying(16) NOT NULL, label character varying(128) NOT NULL, color character varying(128) NOT NULL, working_days boolean NOT NULL, delays integer, default_priority boolean NOT NULL DEFAULT FALSE, "order" integer, CONSTRAINT priorities_pkey PRIMARY KEY (id) ) WITH (OIDS=FALSE); DROP TABLE IF EXISTS actions_categories; CREATE TABLE actions_categories ( action_id bigint NOT NULL, category_id character varying(255) NOT NULL, CONSTRAINT actions_categories_pkey PRIMARY KEY (action_id,category_id) ); DROP SEQUENCE IF EXISTS listinstance_history_id_seq; CREATE SEQUENCE listinstance_history_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; DROP TABLE IF EXISTS listinstance_history; CREATE TABLE listinstance_history ( listinstance_history_id bigint NOT NULL DEFAULT nextval('listinstance_history_id_seq'::regclass), coll_id character varying(50) NOT NULL, res_id bigint NOT NULL, user_id INTEGER NOT NULL, updated_date timestamp without time zone NOT NULL, CONSTRAINT listinstance_history_pkey PRIMARY KEY (listinstance_history_id) ) WITH ( OIDS=FALSE ); DROP SEQUENCE IF EXISTS listinstance_history_details_id_seq; CREATE SEQUENCE listinstance_history_details_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; DROP TABLE IF EXISTS listinstance_history_details; CREATE TABLE listinstance_history_details ( listinstance_history_details_id bigint NOT NULL DEFAULT nextval('listinstance_history_details_id_seq'::regclass), listinstance_history_id bigint NOT NULL, coll_id character varying(50) NOT NULL, res_id bigint NOT NULL, listinstance_type character varying(50) DEFAULT 'DOC'::character varying, sequence bigint NOT NULL, item_id character varying(128) NOT NULL, item_type character varying(255) NOT NULL, item_mode character varying(50) NOT NULL, added_by_user character varying(128) NOT NULL, added_by_entity character varying(50) NOT NULL, visible character varying(1) NOT NULL DEFAULT 'Y'::bpchar, viewed bigint, difflist_type character varying(50), process_date timestamp without time zone, process_comment character varying(255), CONSTRAINT listinstance_history_details_pkey PRIMARY KEY (listinstance_history_details_id) ) WITH ( OIDS=FALSE ); /* SHIPPING TEMPLATES */ DROP TABLE IF EXISTS shipping_templates; CREATE TABLE shipping_templates ( id serial NOT NULL, label character varying(64) NOT NULL, description character varying(255) NOT NULL, options json DEFAULT '{}', fee json DEFAULT '{}', entities jsonb DEFAULT '{}', account json DEFAULT '{}', CONSTRAINT shipping_templates_pkey PRIMARY KEY (id) ) WITH (OIDS=FALSE); CREATE TABLE shippings ( id serial NOT NULL, user_id INTEGER NOT NULL, attachment_id INTEGER NOT NULL, is_version boolean NOT NULL, options json DEFAULT '{}', fee FLOAT NOT NULL, recipient_entity_id INTEGER NOT NULL, account_id character varying(64) NOT NULL, creation_date timestamp without time zone NOT NULL, CONSTRAINT shippings_pkey PRIMARY KEY (id) ) WITH (OIDS=FALSE); --VIEWS -- view for letterbox DROP VIEW IF EXISTS res_view_letterbox; CREATE OR REPLACE VIEW res_view_letterbox AS SELECT r.tablename, r.is_multi_docservers, r.res_id, r.type_id, r.policy_id, r.cycle_id, d.description AS type_label, d.doctypes_first_level_id, dfl.doctypes_first_level_label, dfl.css_style AS doctype_first_level_style, d.doctypes_second_level_id, dsl.doctypes_second_level_label, dsl.css_style AS doctype_second_level_style, r.format, r.typist, r.creation_date, r.modification_date, r.relation, r.docserver_id, r.path, r.filename, r.fingerprint, r.offset_doc, r.filesize, r.scan_date, r.scan_user, r.scan_location, r.scan_wkstation, r.scan_batch, r.scan_postmark, r.status, r.work_batch, r.doc_date, r.description, r.source, r.author, r.reference_number, r.external_reference, r.external_id, r.external_link, r.departure_date, r.opinion_limit_date, r.department_number_id, r.barcode, r.external_signatory_book_id, r.custom_t1 AS doc_custom_t1, r.custom_t2 AS doc_custom_t2, r.custom_t3 AS doc_custom_t3, r.custom_t4 AS doc_custom_t4, r.custom_t5 AS doc_custom_t5, r.custom_t6 AS doc_custom_t6, r.custom_t7 AS doc_custom_t7, r.custom_t8 AS doc_custom_t8, r.custom_t9 AS doc_custom_t9, r.custom_t10 AS doc_custom_t10, r.custom_t11 AS doc_custom_t11, r.custom_t12 AS doc_custom_t12, r.custom_t13 AS doc_custom_t13, r.custom_t14 AS doc_custom_t14, r.custom_t15 AS doc_custom_t15, r.custom_d1 AS doc_custom_d1, r.custom_d2 AS doc_custom_d2, r.custom_d3 AS doc_custom_d3, r.custom_d4 AS doc_custom_d4, r.custom_d5 AS doc_custom_d5, r.custom_d6 AS doc_custom_d6, r.custom_d7 AS doc_custom_d7, r.custom_d8 AS doc_custom_d8, r.custom_d9 AS doc_custom_d9, r.custom_d10 AS doc_custom_d10, r.custom_n1 AS doc_custom_n1, r.custom_n2 AS doc_custom_n2, r.custom_n3 AS doc_custom_n3, r.custom_n4 AS doc_custom_n4, r.custom_n5 AS doc_custom_n5, r.custom_f1 AS doc_custom_f1, r.custom_f2 AS doc_custom_f2, r.custom_f3 AS doc_custom_f3, r.custom_f4 AS doc_custom_f4, r.custom_f5 AS doc_custom_f5, r.initiator, r.destination, r.dest_user, r.confidentiality, mlb.category_id, mlb.exp_contact_id, mlb.exp_user_id, mlb.dest_user_id, mlb.dest_contact_id, mlb.address_id, mlb.nature_id, mlb.alt_identifier, mlb.admission_date, mlb.process_limit_date, mlb.closing_date, mlb.alarm1_date, mlb.alarm2_date, mlb.flag_alarm1, mlb.flag_alarm2, mlb.is_multicontacts, r.subject, r.identifier, r.title, r.priority, r.locker_user_id, r.locker_time, en.entity_label, en.entity_type AS entitytype, cont.contact_id, cont.firstname AS contact_firstname, cont.lastname AS contact_lastname, cont.society AS contact_society, u.lastname AS user_lastname, u.firstname AS user_firstname FROM doctypes d, doctypes_first_level dfl, doctypes_second_level dsl, res_letterbox r LEFT JOIN entities en ON r.destination::text = en.entity_id::text LEFT JOIN mlb_coll_ext mlb ON mlb.res_id = r.res_id LEFT JOIN contacts_v2 cont ON mlb.exp_contact_id = cont.contact_id OR mlb.dest_contact_id = cont.contact_id LEFT JOIN users u ON mlb.exp_user_id::text = u.user_id::text OR mlb.dest_user_id::text = u.user_id::text WHERE r.type_id = d.type_id AND d.doctypes_first_level_id = dfl.doctypes_first_level_id AND d.doctypes_second_level_id = dsl.doctypes_second_level_id; --view for contacts_v2 DROP VIEW IF EXISTS view_contacts; CREATE OR REPLACE VIEW view_contacts AS SELECT c.contact_id, c.contact_type, c.is_corporate_person, c.society, c.society_short, c.firstname AS contact_firstname , c.lastname AS contact_lastname, c.title AS contact_title, c.function AS contact_function, c.other_data AS contact_other_data , c.user_id AS contact_user_id, c.entity_id AS contact_entity_id, c.creation_date, c.update_date, c.enabled AS contact_enabled, ca.id AS ca_id , ca.contact_purpose_id, ca.departement, ca.firstname, ca.lastname, ca.title, ca.function, ca.occupancy , ca.address_num, ca.address_street, ca.address_complement, ca.address_town, ca.address_postal_code, ca.address_country , ca.phone, ca.email, ca.website, ca.salutation_header, ca.salutation_footer, ca.other_data, ca.user_id, ca.entity_id, ca.is_private, ca.enabled, ca.external_id , cp.label as contact_purpose_label, ct.label as contact_type_label FROM contacts_v2 c RIGHT JOIN contact_addresses ca ON c.contact_id = ca.contact_id LEFT JOIN contact_purposes cp ON ca.contact_purpose_id = cp.id LEFT JOIN contact_types ct ON c.contact_type = ct.id; DROP TABLE IF EXISTS res_version_attachments; DROP SEQUENCE IF EXISTS res_id_version_attachments_seq; CREATE SEQUENCE res_id_version_attachments_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 100 CACHE 1; CREATE TABLE res_version_attachments ( res_id bigint NOT NULL DEFAULT nextval('res_id_version_attachments_seq'::regclass), title character varying(255) DEFAULT NULL::character varying, subject text, description text, type_id bigint NOT NULL, format character varying(50) NOT NULL, typist character varying(128) NOT NULL, creation_date timestamp without time zone NOT NULL, author character varying(255) DEFAULT NULL::character varying, identifier character varying(255) DEFAULT NULL::character varying, source character varying(255) DEFAULT NULL::character varying, relation bigint, doc_date timestamp without time zone, docserver_id character varying(32) NOT NULL, path character varying(255) DEFAULT NULL::character varying, filename character varying(255) DEFAULT NULL::character varying, offset_doc character varying(255) DEFAULT NULL::character varying, fingerprint character varying(255) DEFAULT NULL::character varying, filesize bigint, status character varying(10) NOT NULL, destination character varying(50) DEFAULT NULL::character varying, validation_date timestamp without time zone, effective_date timestamp without time zone, work_batch bigint, origin character varying(50) DEFAULT NULL::character varying, priority character varying(16), policy_id character varying(32), cycle_id character varying(32), is_multi_docservers character(1) NOT NULL DEFAULT 'N'::bpchar, custom_t1 text, custom_n1 bigint, custom_f1 numeric, custom_d1 timestamp without time zone, custom_t2 character varying(255) DEFAULT NULL::character varying, custom_n2 bigint, custom_f2 numeric, custom_d2 timestamp without time zone, custom_t3 character varying(255) DEFAULT NULL::character varying, custom_n3 bigint, custom_f3 numeric, custom_d3 timestamp without time zone, custom_t4 character varying(255) DEFAULT NULL::character varying, custom_n4 bigint, custom_f4 numeric, custom_d4 timestamp without time zone, custom_t5 character varying(255) DEFAULT NULL::character varying, custom_n5 bigint, custom_f5 numeric, custom_d5 timestamp without time zone, custom_t6 character varying(255) DEFAULT NULL::character varying, custom_d6 timestamp without time zone, custom_t7 character varying(255) DEFAULT NULL::character varying, custom_d7 timestamp without time zone, custom_t8 character varying(255) DEFAULT NULL::character varying, custom_d8 timestamp without time zone, custom_t9 character varying(255) DEFAULT NULL::character varying, custom_d9 timestamp without time zone, custom_t10 character varying(255) DEFAULT NULL::character varying, custom_d10 timestamp without time zone, custom_t11 character varying(255) DEFAULT NULL::character varying, custom_t12 character varying(255) DEFAULT NULL::character varying, custom_t13 character varying(255) DEFAULT NULL::character varying, custom_t14 character varying(255) DEFAULT NULL::character varying, custom_t15 character varying(255) DEFAULT NULL::character varying, tablename character varying(32) DEFAULT 'res_version_attachments'::character varying, initiator character varying(50) DEFAULT NULL::character varying, dest_user character varying(128) DEFAULT NULL::character varying, coll_id character varying(32) NOT NULL, attachment_type character varying(255) DEFAULT NULL::character varying, dest_contact_id bigint, dest_address_id bigint, updated_by character varying(128) DEFAULT NULL::character varying, is_multicontacts character(1), res_id_master bigint, attachment_id_master bigint, in_signature_book boolean DEFAULT FALSE, in_send_attach boolean DEFAULT FALSE, signatory_user_serial_id int, fulltext_result character varying(10) DEFAULT NULL::character varying, external_id jsonb DEFAULT '{}', CONSTRAINT res_version_attachments_pkey PRIMARY KEY (res_id) ) WITH ( OIDS=FALSE ); CREATE TABLE adr_attachments_version ( id serial NOT NULL, res_id bigint NOT NULL, type character varying(32) NOT NULL, docserver_id character varying(32) NOT NULL, path character varying(255) NOT NULL, filename character varying(255) NOT NULL, fingerprint character varying(255) DEFAULT NULL::character varying, CONSTRAINT adr_attachments_version_pkey PRIMARY KEY (id), CONSTRAINT adr_attachments_version_unique_key UNIQUE (res_id, type) ) WITH (OIDS=FALSE); -- view for attachments DROP VIEW IF EXISTS res_view_attachments; CREATE VIEW res_view_attachments AS SELECT '0' as res_id, res_id as res_id_version, title, subject, description, type_id, format, typist, creation_date, fulltext_result, author, identifier, source, relation, doc_date, docserver_id, path, filename, offset_doc, fingerprint, filesize, status, destination, validation_date, effective_date, origin, priority, initiator, dest_user, external_id, coll_id, dest_contact_id, dest_address_id, updated_by, is_multicontacts, is_multi_docservers, res_id_master, attachment_type, attachment_id_master, in_signature_book, in_send_attach, signatory_user_serial_id FROM res_version_attachments UNION ALL SELECT res_id, '0' as res_id_version, title, subject, description, type_id, format, typist, creation_date, fulltext_result, author, identifier, source, relation, doc_date, docserver_id, path, filename, offset_doc, fingerprint, filesize, status, destination, validation_date, effective_date, origin, priority, initiator, dest_user, external_id, coll_id, dest_contact_id, dest_address_id, updated_by, is_multicontacts, is_multi_docservers, res_id_master, attachment_type, '0', in_signature_book, in_send_attach, signatory_user_serial_id FROM res_attachments; -- thesaurus CREATE SEQUENCE thesaurus_id_seq INCREMENT 1 MINVALUE 1 MAXVALUE 9223372036854775807 START 1 CACHE 1; CREATE TABLE thesaurus ( thesaurus_id bigint NOT NULL DEFAULT nextval('thesaurus_id_seq'::regclass), thesaurus_name character varying(255) NOT NULL, thesaurus_description text, thesaurus_name_associate character varying(255), thesaurus_parent_id character varying(255), creation_date timestamp without time zone, used_for text, CONSTRAINT thesaurus_pkey PRIMARY KEY (thesaurus_id) ) WITH ( OIDS=FALSE ); CREATE TABLE thesaurus_res ( res_id bigint NOT NULL, thesaurus_id bigint NOT NULL ) WITH ( OIDS=FALSE ); CREATE FUNCTION order_alphanum(text) RETURNS text AS $$ SELECT regexp_replace(regexp_replace(regexp_replace(regexp_replace($1, E'(^|\\D)(\\d{1,3}($|\\D))', E'\\1000\\2', 'g'), E'(^|\\D)(\\d{4,6}($|\\D))', E'\\1000\\2', 'g'), E'(^|\\D)(\\d{7}($|\\D))', E'\\100\\2', 'g'), E'(^|\\D)(\\d{8}($|\\D))', E'\\10\\2', 'g'); $$ LANGUAGE SQL; CREATE TABLE message_exchange ( message_id text NOT NULL, schema text, type text NOT NULL, status text NOT NULL, date timestamp NOT NULL, reference text NOT NULL, account_id text, sender_org_identifier text NOT NULL, sender_org_name text, recipient_org_identifier text NOT NULL, recipient_org_name text, archival_agreement_reference text, reply_code text, operation_date timestamp, reception_date timestamp, related_reference text, request_reference text, reply_reference text, derogation boolean, data_object_count integer, size numeric, data text, active boolean, archived boolean, res_id_master numeric default NULL, docserver_id character varying(32) DEFAULT NULL, path character varying(255) DEFAULT NULL, filename character varying(255) DEFAULT NULL, fingerprint character varying(255) DEFAULT NULL, filesize bigint, file_path text default NULL, PRIMARY KEY ("message_id") ) WITH ( OIDS=FALSE ); CREATE TABLE unit_identifier ( message_id text NOT NULL, tablename text NOT NULL, res_id text NOT NULL, disposition text default NULL ); DROP TABLE IF EXISTS users_baskets_preferences; CREATE TABLE users_baskets_preferences ( id serial NOT NULL, user_serial_id integer NOT NULL, group_serial_id integer NOT NULL, basket_id character varying(32) NOT NULL, display boolean NOT NULL, color character varying(16), CONSTRAINT users_baskets_preferences_pkey PRIMARY KEY (id), CONSTRAINT users_baskets_preferences_key UNIQUE (user_serial_id, group_serial_id, basket_id) ) WITH (OIDS=FALSE); -- convert working table DROP TABLE IF EXISTS convert_stack; CREATE TABLE convert_stack ( coll_id character varying(32) NOT NULL, res_id bigint NOT NULL, convert_format character varying(32) NOT NULL DEFAULT 'pdf'::character varying, cnt_retry integer, status character(1) NOT NULL, work_batch bigint, regex character varying(32), CONSTRAINT convert_stack_pkey PRIMARY KEY (coll_id, res_id, convert_format) ) WITH (OIDS=FALSE); DROP TABLE IF EXISTS indexingmodels; CREATE TABLE indexingmodels ( id serial NOT NULL, label character varying(255) NOT NULL, fields_content text NOT NULL, CONSTRAINT indexingmodels_pkey PRIMARY KEY (id) ) WITH ( OIDS=FALSE ); CREATE TABLE password_rules ( id serial, label character varying(64) NOT NULL, "value" integer NOT NULL, enabled boolean DEFAULT FALSE NOT NULL, CONSTRAINT password_rules_pkey PRIMARY KEY (id), CONSTRAINT password_rules_label_key UNIQUE (label) ) WITH (OIDS=FALSE); CREATE TABLE password_history ( id serial, user_serial_id INTEGER NOT NULL, password character varying(255) NOT NULL, CONSTRAINT password_history_pkey PRIMARY KEY (id) ) WITH (OIDS=FALSE); CREATE TABLE contacts_filling ( id serial NOT NULL, enable boolean NOT NULL, rating_columns text NOT NULL, first_threshold int NOT NULL, second_threshold int NOT NULL, CONSTRAINT contacts_filling_pkey PRIMARY KEY (id) ) WITH (OIDS=FALSE); /* Sender/Recipient */ DROP TABLE IF EXISTS resource_contacts; CREATE TABLE resource_contacts ( id serial NOT NULL, res_id int NOT NULL, item_id int NOT NULL, type character varying(32) NOT NULL, mode character varying(32) NOT NULL, CONSTRAINT resource_contacts_pkey PRIMARY KEY (id) ) WITH (OIDS=FALSE); CREATE TABLE configurations ( id serial NOT NULL, service character varying(64) NOT NULL, value json DEFAULT '{}' NOT NULL, CONSTRAINT configuration_pkey PRIMARY KEY (id), CONSTRAINT configuration_unique_key UNIQUE (service) ) WITH (OIDS=FALSE); CREATE TABLE emails ( id serial NOT NULL, user_id INTEGER NOT NULL, sender json DEFAULT '{}' NOT NULL, recipients json DEFAULT '[]' NOT NULL, cc json DEFAULT '[]' NOT NULL, cci json DEFAULT '[]' NOT NULL, object character varying(256), body text, document json, is_html boolean NOT NULL DEFAULT TRUE, status character varying(16) NOT NULL, message_exchange_id text, creation_date timestamp without time zone NOT NULL, send_date timestamp without time zone, CONSTRAINT emails_pkey PRIMARY KEY (id) ) WITH (OIDS=FALSE); CREATE TABLE exports_templates ( id serial NOT NULL, user_id INTEGER NOT NULL, delimiter character varying(3), format character varying(3) NOT NULL, data json DEFAULT '[]' NOT NULL, CONSTRAINT exports_templates_pkey PRIMARY KEY (id), CONSTRAINT exports_templates_unique_key UNIQUE (user_id, format) ) WITH (OIDS=FALSE); CREATE TABLE acknowledgement_receipts ( id serial NOT NULL, res_id INTEGER NOT NULL, type CHARACTER VARYING(16) NOT NULL, format CHARACTER VARYING(8) NOT NULL, user_id INTEGER NOT NULL, contact_address_id INTEGER NOT NULL, creation_date timestamp without time zone NOT NULL, send_date timestamp without time zone, docserver_id CHARACTER VARYING(128) NOT NULL, path CHARACTER VARYING(256) NOT NULL, filename CHARACTER VARYING(256) NOT NULL, fingerprint CHARACTER VARYING(256) NOT NULL, CONSTRAINT acknowledgment_receipts_pkey PRIMARY KEY (id) ) WITH (OIDS=FALSE); CREATE TABLE custom_fields ( id serial NOT NULL, label character varying(256) NOT NULL, type character varying(256) NOT NULL, values jsonb, CONSTRAINT custom_fields_pkey PRIMARY KEY (id), CONSTRAINT custom_fields_unique_key UNIQUE (label) ) WITH (OIDS=FALSE); CREATE TABLE indexing_models ( id SERIAL NOT NULL, label character varying(256) NOT NULL, "default" BOOLEAN NOT NULL, owner INTEGER NOT NULL, private BOOLEAN NOT NULL, CONSTRAINT indexing_models_pkey PRIMARY KEY (id) ) WITH (OIDS=FALSE); CREATE TABLE indexing_models_fields ( id SERIAL NOT NULL, model_id INTEGER NOT NULL, identifier text NOT NULL, mandatory BOOLEAN NOT NULL, default_value json, unit text, CONSTRAINT indexing_models_fields_pkey PRIMARY KEY (id) ) WITH (OIDS=FALSE);