orbeon-docker/postgres/docker-entrypoint-initdb.d/postgresql-2018_2.sql

110 lines
4.3 KiB
SQL

CREATE TABLE orbeon_form_definition (
created TIMESTAMP,
last_modified_time TIMESTAMP,
last_modified_by VARCHAR(255),
app VARCHAR(255),
form VARCHAR(255),
form_version INT NOT NULL,
form_metadata VARCHAR(4000),
deleted CHARACTER(1) NOT NULL,
xml XML
);
CREATE TABLE orbeon_form_definition_attach (
created TIMESTAMP,
last_modified_time TIMESTAMP,
last_modified_by VARCHAR(255),
app VARCHAR(255),
form VARCHAR(255),
form_version INT NOT NULL,
deleted CHARACTER(1) NOT NULL,
file_name VARCHAR(255),
file_content BYTEA
);
CREATE TABLE orbeon_form_data (
id SERIAL PRIMARY KEY NOT NULL,
created TIMESTAMP,
last_modified_time TIMESTAMP,
last_modified_by VARCHAR(255),
username VARCHAR(255),
groupname VARCHAR(255),
organization_id INT,
app VARCHAR(255),
form VARCHAR(255),
form_version INT NOT NULL,
document_id VARCHAR(255),
deleted CHARACTER(1) NOT NULL,
draft CHARACTER(1) NOT NULL,
xml XML
);
CREATE TABLE orbeon_form_data_attach (
created TIMESTAMP,
last_modified_time TIMESTAMP,
last_modified_by VARCHAR(255),
username VARCHAR(255),
groupname VARCHAR(255),
organization_id INT,
app VARCHAR(255),
form VARCHAR(255),
form_version INT NOT NULL,
document_id VARCHAR(255),
deleted CHARACTER(1) NOT NULL,
draft CHARACTER(1) NOT NULL,
file_name VARCHAR(255),
file_content BYTEA
);
CREATE TABLE orbeon_form_data_lease (
document_id VARCHAR(255) NOT NULL PRIMARY KEY,
username VARCHAR(255) NOT NULL ,
groupname VARCHAR(255) ,
expiration TIMESTAMP NOT NULL
);
CREATE TABLE orbeon_organization (
id INT NOT NULL,
depth INT NOT NULL,
pos INT NOT NULL,
name VARCHAR(255) NOT NULL
);
CREATE TABLE orbeon_seq (
val SERIAL PRIMARY KEY NOT NULL
);
CREATE TABLE orbeon_i_current (
data_id INT NOT NULL,
created TIMESTAMP NOT NULL,
last_modified_time TIMESTAMP NOT NULL,
last_modified_by VARCHAR(255) ,
username VARCHAR(255) ,
groupname VARCHAR(255) ,
organization_id INT ,
app VARCHAR(255) NOT NULL,
form VARCHAR(255) NOT NULL,
form_version INT NOT NULL,
document_id VARCHAR(255) NOT NULL,
draft CHARACTER(1) NOT NULL,
FOREIGN KEY (data_id) REFERENCES orbeon_form_data(id)
);
CREATE TABLE orbeon_i_control_text (
data_id INT NOT NULL,
pos INT NOT NULL,
control VARCHAR(255) NOT NULL,
val TEXT NOT NULL,
FOREIGN KEY (data_id) REFERENCES orbeon_form_data(id)
);
CREATE INDEX orbeon_form_definition_i1 ON orbeon_form_definition (app, form);
CREATE INDEX orbeon_form_definition_att_i1 ON orbeon_form_definition_attach (app, form, file_name);
CREATE INDEX orbeon_from_data_i1 ON orbeon_form_data (app, form, document_id, draft);
CREATE INDEX orbeon_form_data_i2 ON orbeon_form_data (document_id);
CREATE INDEX orbeon_from_data_attach_i1 ON orbeon_form_data_attach (app, form, document_id, file_name, draft);
CREATE INDEX orbeon_from_data_attach_i2 ON orbeon_form_data_attach (document_id);
CREATE UNIQUE INDEX orbeon_i_current_i1 ON orbeon_i_current (data_id, draft);
CREATE INDEX orbeon_i_current_i2 ON orbeon_i_current (app, form, draft);
CREATE INDEX orbeon_i_control_text_i1 ON orbeon_i_control_text (data_id);