Skip to content
Snippets Groups Projects
structure.sql 75 KiB
Newer Older
  • Learn to ignore specific revisions
  •   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, type_id, format, typist,
      creation_date, fulltext_result, ocr_result, author, identifier, source, relation, coverage, doc_date, docserver_id, folders_system_id, path,
      filename, offset_doc, fingerprint, filesize, 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, type_id, format, typist,
      creation_date, fulltext_result, ocr_result, author, identifier, source, relation, coverage, doc_date, docserver_id, folders_system_id, path,
      filename, offset_doc, fingerprint, filesize, 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
    );
    
    
    CREATE TABLE password_rules
    (
      id serial,
      label character varying(64) NOT NULL,
      "value" integer NOT NULL,
      enabled boolean DEFAULT FALSE,
      CONSTRAINT password_rules_pkey PRIMARY KEY (id),
      CONSTRAINT password_rules_label_key UNIQUE (label)
    )
    WITH (OIDS=FALSE);
    
    
    Damien's avatar
    Damien committed
    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);