Skip to content
Snippets Groups Projects
structure.sql 80.9 KiB
Newer Older
  • Learn to ignore specific revisions
  •   WHERE fp_fileplan.fileplan_id = fp_fileplan_positions.fileplan_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_contact_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,
      publisher character varying(255) DEFAULT NULL::character varying,
      contributor character varying(255) DEFAULT NULL::character varying,
      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,
      converter_result character varying(10) DEFAULT NULL::character varying,
      author character varying(255) DEFAULT NULL::character varying,
      author_name text,
      identifier character varying(255) DEFAULT NULL::character varying,
      source character varying(255) DEFAULT NULL::character varying,
      doc_language character varying(50) DEFAULT NULL::character varying,
      relation bigint,
      coverage character varying(255) DEFAULT NULL::character varying,
      doc_date timestamp without time zone,
      docserver_id character varying(32) NOT NULL,
      folders_system_id bigint,
      arbox_id character varying(32) DEFAULT NULL::character varying,
      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,
      logical_adr character varying(255) DEFAULT NULL::character varying,
      fingerprint character varying(255) DEFAULT NULL::character varying,
      filesize bigint,
      is_paper character(1) DEFAULT NULL::bpchar,
      page_count integer,
      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,
      burn_batch character varying(50) DEFAULT NULL::character varying,
      scan_postmark character varying(50) DEFAULT NULL::character varying,
      envelop_id bigint,
      status character varying(10) NOT NULL,
      destination character varying(50) DEFAULT NULL::character varying,
      approver 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,
      is_ingoing character(1) DEFAULT NULL::bpchar,
    
      priority character varying(16),
    
      arbatch_id bigint,
      policy_id character varying(32),
      cycle_id character varying(32),
      is_multi_docservers character(1) NOT NULL DEFAULT 'N'::bpchar,
      is_frozen 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,
      video_batch integer,
      video_time integer,
      video_user character varying(128) DEFAULT NULL::character varying,
      video_date timestamp without time zone,
      cycle_date timestamp without time zone,
      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,
    
    Damien's avatar
    Damien committed
      in_signature_book boolean DEFAULT FALSE,
    
      signatory_user_serial_id int,
    
      convert_result character varying(10) DEFAULT NULL::character varying,
      convert_attempts integer DEFAULT NULL::integer,
      fulltext_result character varying(10) DEFAULT NULL::character varying,
      fulltext_attempts integer DEFAULT NULL::integer,
      tnl_result character varying(10) DEFAULT NULL::character varying,
      tnl_attempts integer DEFAULT NULL::integer,
      ocr_result character varying(10) DEFAULT NULL::character varying,
    
      CONSTRAINT res_version_attachments_pkey PRIMARY KEY (res_id)
    )
    WITH (
      OIDS=FALSE
    );
    
    
    CREATE TABLE adr_attachments_version
    (
      res_id bigint NOT NULL,
      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,
      adr_priority integer NOT NULL,
      adr_type character varying(32) NOT NULL DEFAULT 'DOC'::character varying,
      CONSTRAINT adr_attachments_version_pkey PRIMARY KEY (res_id, docserver_id)
    )
    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, publisher, contributor, type_id, format, typist,
      creation_date, fulltext_result, ocr_result, author, author_name, identifier, source,
      doc_language, relation, coverage, doc_date, docserver_id, folders_system_id, arbox_id, path,
      filename, offset_doc, logical_adr, fingerprint, filesize, is_paper, page_count,
      scan_date, scan_user, scan_location, scan_wkstation, scan_batch, burn_batch, scan_postmark,
    
      envelop_id, status, destination, approver, validation_date, effective_date, work_batch, origin, is_ingoing, priority, initiator, dest_user,
    
      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, signatory_user_serial_id
    
      FROM res_version_attachments
      UNION ALL
      SELECT res_id, '0' as res_id_version, title, subject, description, publisher, contributor, type_id, format, typist,
      creation_date, fulltext_result, ocr_result, author, author_name, identifier, source,
      doc_language, relation, coverage, doc_date, docserver_id, folders_system_id, arbox_id, path,
      filename, offset_doc, logical_adr, fingerprint, filesize, is_paper, page_count,
      scan_date, scan_user, scan_location, scan_wkstation, scan_batch, burn_batch, scan_postmark,
    
      envelop_id, status, destination, approver, validation_date, effective_date, work_batch, origin, is_ingoing, priority, initiator, dest_user,
    
      coll_id, dest_contact_id, dest_address_id, updated_by, is_multicontacts, is_multi_docservers, res_id_master, attachment_type, '0', in_signature_book, signatory_user_serial_id
    
      FROM res_attachments;
    
    Alex ORLUC's avatar
    Alex ORLUC committed
    
    -- thesaurus
    
    Alex ORLUC's avatar
    Alex ORLUC committed
    
    
    CREATE SEQUENCE thesaurus_id_seq
      INCREMENT 1
      MINVALUE 1
      MAXVALUE 9223372036854775807
      START 1
      CACHE 1;
    
    
    Alex ORLUC's avatar
    Alex ORLUC committed
    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,
    
    Alex ORLUC's avatar
    Alex ORLUC committed
      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
    
    Florian Azizian's avatar
    Florian Azizian committed
    
    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,
    
    Florian Azizian's avatar
    Florian Azizian committed
      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
    
    Damien's avatar
    Damien committed
    
    DROP TABLE IF EXISTS users_baskets;
    CREATE TABLE users_baskets
    (
      id serial NOT NULL,
      user_serial_id integer NOT NULL,
      basket_id character varying(32) NOT NULL,
      group_id character varying(32) NOT NULL,
      color character varying(16),
      CONSTRAINT users_baskets_pkey PRIMARY KEY (id)
    )
    WITH (OIDS=FALSE);
    
    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
    );