openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit dafe0dda42024f7c783ba32c653458f5226aeb19
parent f692d31731d5452faa7d5bdd41ad11985810b0c0
Author: dankert <devnull@localhost>
Date:   Mon, 24 May 2004 20:28:08 +0200

COMMENTs entfernt

Diffstat:
doc/database/sql/postgresql/create.sql | 618++++++++++++++++++++++++++++++++++++++-----------------------------------------
1 file changed, 299 insertions(+), 319 deletions(-)

diff --git a/doc/database/sql/postgresql/create.sql b/doc/database/sql/postgresql/create.sql @@ -4,327 +4,307 @@ -- (c) Jan Dankert -- Licensed under the GNU General Public Licence - -CREATE TABLE or_project ( - id INT NOT NULL - , name VARCHAR(128) NOT NULL - , target_dir VARCHAR(255) NOT NULL - , ftp_url VARCHAR(255) NOT NULL - , ftp_passive CHAR(1) DEFAULT '0' NOT NULL - , cmd_after_publish VARCHAR(255) NOT NULL - , content_negotiation CHAR(1) DEFAULT '0' NOT NULL - , cut_index CHAR(1) DEFAULT '0' NOT NULL - , PRIMARY KEY (id) -); -CREATE UNIQUE INDEX idx_project_uk ON or_project (name); - -CREATE TABLE or_user ( - id INT NOT NULL - , name VARCHAR(128) NOT NULL - , password VARCHAR(50) NOT NULL - , ldap_dn VARCHAR(255) NOT NULL - , fullname VARCHAR(128) NOT NULL - , tel VARCHAR(128) NOT NULL - , mail VARCHAR(255) NOT NULL - , descr VARCHAR(255) NOT NULL - , style VARCHAR(64) NOT NULL - , is_admin INT DEFAULT 0 NOT NULL - , PRIMARY KEY (id) -); -CREATE UNIQUE INDEX idx_user_uk ON or_user (name); - -CREATE TABLE or_group ( - id INT NOT NULL - , name VARCHAR(100) NOT NULL - , PRIMARY KEY (id) -); -CREATE UNIQUE INDEX idx_group_uk ON or_group (name); - -CREATE TABLE or_object ( - id INT NOT NULL - , parentid INT - , projectid INT DEFAULT 0 NOT NULL - , filename VARCHAR(255) NOT NULL - , orderid INT DEFAULT 0 NOT NULL - , create_date INT DEFAULT 0 NOT NULL - , create_userid INT DEFAULT 0 - , lastchange_date INT DEFAULT 0 NOT NULL - , lastchange_userid INT DEFAULT 0 - , is_folder INT DEFAULT 0 NOT NULL - , is_file INT DEFAULT 0 NOT NULL - , is_page INT DEFAULT 0 NOT NULL - , is_link INT DEFAULT 0 NOT NULL - , PRIMARY KEY (id) - , CONSTRAINT fk_object_01 FOREIGN KEY (projectid) - REFERENCES or_project (id) ON DELETE RESTRICT ON UPDATE RESTRICT - , CONSTRAINT fk_object_02 FOREIGN KEY (lastchange_userid) - REFERENCES or_user (id) ON DELETE RESTRICT ON UPDATE RESTRICT - , CONSTRAINT fk_object_03 FOREIGN KEY (create_userid) - REFERENCES or_user (id) ON DELETE RESTRICT ON UPDATE RESTRICT -); -CREATE INDEX idx_object_01 ON or_object (parentid); -CREATE INDEX idx_object_02 ON or_object (projectid); -CREATE INDEX idx_object_03 ON or_object (is_folder); -CREATE INDEX idx_object_04 ON or_object (is_file); -CREATE INDEX idx_object_05 ON or_object (is_page); -CREATE INDEX idx_object_06 ON or_object (is_link); -CREATE INDEX idx_object_07 ON or_object (orderid); -CREATE INDEX idx_object_08 ON or_object (create_userid); -CREATE INDEX idx_object_09 ON or_object (lastchange_userid); -CREATE UNIQUE INDEX idx_object_uk ON or_object (parentid, filename); - -CREATE TABLE or_template ( - id INT NOT NULL - , projectid INT NOT NULL - , name VARCHAR(50) NOT NULL - , PRIMARY KEY (id) - , CONSTRAINT fk_template_01 FOREIGN KEY (projectid) - REFERENCES or_project (id) ON DELETE RESTRICT ON UPDATE RESTRICT -); -COMMENT ON COLUMN or_template.id IS 'auto_increment'; -CREATE INDEX idx_template_01 ON or_template (projectid); -CREATE INDEX idx_template_02 ON or_template (name); -CREATE UNIQUE INDEX idx_template_uk ON or_template (projectid, name); - -CREATE TABLE or_language ( - id INT NOT NULL - , projectid INT DEFAULT 0 NOT NULL - , isocode VARCHAR(10) NOT NULL - , name VARCHAR(50) NOT NULL - , is_default INT DEFAULT 0 NOT NULL - , PRIMARY KEY (id) - , CONSTRAINT fk_language_01 FOREIGN KEY (projectid) - REFERENCES or_project (id) ON DELETE RESTRICT ON UPDATE RESTRICT -); -CREATE UNIQUE INDEX idx_language_uk ON or_language (projectid, isocode); - -CREATE TABLE or_page ( - id INT NOT NULL - , objectid INT DEFAULT 0 NOT NULL - , templateid INT DEFAULT 0 NOT NULL - , PRIMARY KEY (id) - , CONSTRAINT fk_page_01 FOREIGN KEY (templateid) - REFERENCES or_template (id) ON DELETE RESTRICT ON UPDATE RESTRICT - , CONSTRAINT fk_page_02 FOREIGN KEY (objectid) - REFERENCES or_object (id) ON DELETE RESTRICT ON UPDATE RESTRICT -); -CREATE UNIQUE INDEX idx_page_uk ON or_page (objectid); -CREATE INDEX idx_page_01 ON or_page (templateid); - -CREATE TABLE or_projectmodel ( - id INT NOT NULL - , projectid INT DEFAULT 0 NOT NULL - , name VARCHAR(50) NOT NULL - , extension VARCHAR(10) - , is_default CHAR(10) DEFAULT '0' NOT NULL - , PRIMARY KEY (id) - , CONSTRAINT fk_projectmodel_01 FOREIGN KEY (projectid) - REFERENCES or_project (id) ON DELETE RESTRICT ON UPDATE RESTRICT -); -COMMENT ON COLUMN or_projectmodel.extension IS 'not in use'; -CREATE INDEX idx_projectmodel_01 ON or_projectmodel (projectid); -CREATE UNIQUE INDEX idx_projectmodel_uk ON or_projectmodel (projectid, name); - -CREATE TABLE or_element ( - id INT NOT NULL - , templateid INT DEFAULT 0 NOT NULL - , name VARCHAR(50) NOT NULL - , descr VARCHAR(255) NOT NULL - , type VARCHAR(20) NOT NULL - , subtype VARCHAR(20) - , with_icon CHAR(1) DEFAULT '0' NOT NULL - , dateformat VARCHAR(100) - , wiki CHAR(1) DEFAULT '0' - , html CHAR(1) DEFAULT '0' - , all_languages CHAR(1) DEFAULT '0' NOT NULL - , writable CHAR(1) DEFAULT '0' NOT NULL - , decimals CHAR(4) DEFAULT '0' - , dec_point VARCHAR(5) - , thousand_sep CHAR(1) - , code TEXT - , default_text TEXT - , folderobjectid INT - , default_objectid INT - , PRIMARY KEY (id) - , CONSTRAINT fk_element_01 FOREIGN KEY (default_objectid) - REFERENCES or_object (id) ON DELETE RESTRICT ON UPDATE RESTRICT - , CONSTRAINT fk_element_02 FOREIGN KEY (folderobjectid) - REFERENCES or_object (id) ON DELETE RESTRICT ON UPDATE RESTRICT - , CONSTRAINT fk_element_03 FOREIGN KEY (templateid) - REFERENCES or_template (id) ON DELETE RESTRICT ON UPDATE RESTRICT -); -COMMENT ON COLUMN or_element.templateid IS 'Template fuer das dieses Element gilt'; -COMMENT ON COLUMN or_element.name IS 'Name des Elementes'; -COMMENT ON COLUMN or_element.descr IS 'Beschreibung fuer den Redakteur'; -COMMENT ON COLUMN or_element.type IS 'interner Typ des Elementes'; -COMMENT ON COLUMN or_element.subtype IS 'Untertyp, fuer bestimmte Typen notwendig'; -COMMENT ON COLUMN or_element.with_icon IS 'ja/nein ob Editier-Ikon vor Element erscheint'; -COMMENT ON COLUMN or_element.dateformat IS 'Datumsformat (nur bei Datums-Elementen)'; -COMMENT ON COLUMN or_element.wiki IS 'ja/nein ob Text-Schnellauszeichnung erfolgen soll (nur bei Textelementen)'; -COMMENT ON COLUMN or_element.html IS 'ja/nein ob HTML im Text erlaubt ist (nur bei Textelementen)'; -COMMENT ON COLUMN or_element.all_languages IS 'ja/nein ob Inhalt fuer alle Sprachen gilt'; -COMMENT ON COLUMN or_element.writable IS 'ja/nein ob Inhalt vom Redakteur veraenderbar'; -COMMENT ON COLUMN or_element.decimals IS 'Anzahl Nachkommastellen (bei Typ Zahl)'; -COMMENT ON COLUMN or_element.dec_point IS 'Dezimalstelle (bei Typ Zahl)'; -COMMENT ON COLUMN or_element.thousand_sep IS 'Tausenderpunkt (bei Typ Zahl)'; -COMMENT ON COLUMN or_element.code IS 'PHP-Code fuer dynamische Inhalte'; -COMMENT ON COLUMN or_element.default_text IS 'Standard-Inhalt wenn kein Inhalt vorhanden ist'; -COMMENT ON COLUMN or_element.folderobjectid IS 'Verweis auf Ordner'; -COMMENT ON COLUMN or_element.default_objectid IS 'verlinktes Objekt, wenn kein anderer Inhalt verfuegbar ist.'; -CREATE INDEX idx_element_01 ON or_element (templateid); -CREATE INDEX idx_element_02 ON or_element (name); -CREATE UNIQUE INDEX idx_element_uk ON or_element (templateid, name); - -CREATE TABLE or_file ( - id INT NOT NULL - , objectid INT DEFAULT 0 NOT NULL - , extension VARCHAR(10) NOT NULL - , size INT DEFAULT 0 NOT NULL - , value TEXT NOT NULL - , PRIMARY KEY (id) - , CONSTRAINT fk_file_01 FOREIGN KEY (objectid) - REFERENCES or_object (id) ON DELETE RESTRICT ON UPDATE RESTRICT -); -CREATE UNIQUE INDEX idx_file_01 ON or_file (objectid); - -CREATE TABLE or_folder ( - id INT NOT NULL - , objectid INT DEFAULT 0 NOT NULL - , PRIMARY KEY (id) - , CONSTRAINT fk_folder_01 FOREIGN KEY (objectid) - REFERENCES or_object (id) ON DELETE RESTRICT ON UPDATE RESTRICT -); -CREATE UNIQUE INDEX idx_folder_01 ON or_folder (objectid); - -CREATE TABLE or_link ( - id INT NOT NULL - , objectid INT DEFAULT 0 NOT NULL - , link_objectid INT - , url VARCHAR(255) - , PRIMARY KEY (id) - , CONSTRAINT fk_link_01 FOREIGN KEY (objectid) - REFERENCES or_object (id) ON DELETE RESTRICT ON UPDATE RESTRICT - , CONSTRAINT fk_link_02 FOREIGN KEY (link_objectid) - REFERENCES or_object (id) ON DELETE RESTRICT ON UPDATE RESTRICT -); -CREATE UNIQUE INDEX idx_link_01 ON or_link (objectid); -CREATE INDEX idx_link_02 ON or_link (link_objectid); - -CREATE TABLE or_name ( - id INT NOT NULL - , objectid INT DEFAULT 0 NOT NULL - , name VARCHAR(255) NOT NULL - , descr VARCHAR(255) NOT NULL - , languageid INT DEFAULT 0 NOT NULL - , PRIMARY KEY (id) - , CONSTRAINT fk_name_01 FOREIGN KEY (objectid) - REFERENCES or_object (id) ON DELETE RESTRICT ON UPDATE RESTRICT - , CONSTRAINT fk_name_02 FOREIGN KEY (languageid) - REFERENCES or_language (id) ON DELETE RESTRICT ON UPDATE RESTRICT -); -CREATE INDEX idx_name_01 ON or_name (objectid); -CREATE INDEX idx_name_02 ON or_name (languageid); -CREATE UNIQUE INDEX idx_name_uk ON or_name (objectid, languageid); - -CREATE TABLE or_templatemodel ( - id INT NOT NULL - , templateid INT DEFAULT 0 NOT NULL - , projectmodelid INT DEFAULT 0 NOT NULL - , extension VARCHAR(10) - , text TEXT NOT NULL - , PRIMARY KEY (id) - , CONSTRAINT UQ_or_templatemodel_1 UNIQUE (templateid, extension) - , CONSTRAINT fk_templatemodel_01 FOREIGN KEY (templateid) - REFERENCES or_template (id) ON DELETE RESTRICT ON UPDATE RESTRICT - , CONSTRAINT fk_templatemodel_02 FOREIGN KEY (projectmodelid) - REFERENCES or_projectmodel (id) ON DELETE RESTRICT ON UPDATE RESTRICT -); -CREATE INDEX idx_templatemodel_01 ON or_templatemodel (templateid); -CREATE UNIQUE INDEX idx_templatemodel_uk_01 ON or_templatemodel (templateid, projectmodelid); - -CREATE TABLE or_usergroup ( - id INT NOT NULL - , userid INT DEFAULT 0 NOT NULL - , groupid INT DEFAULT 0 NOT NULL - , PRIMARY KEY (id) - , CONSTRAINT fk_usergroup_01 FOREIGN KEY (groupid) - REFERENCES or_group (id) ON DELETE RESTRICT ON UPDATE RESTRICT - , CONSTRAINT fk_usergroup_02 FOREIGN KEY (userid) - REFERENCES or_user (id) ON DELETE RESTRICT ON UPDATE RESTRICT -); -CREATE INDEX idx_usergroup_01 ON or_usergroup (groupid); -CREATE INDEX idx_usergroup_02 ON or_usergroup (userid); -CREATE UNIQUE INDEX idx_usergroup_uk ON or_usergroup (userid, groupid); - -CREATE TABLE or_value ( - id INT NOT NULL - , pageid INT DEFAULT 0 NOT NULL - , languageid INT NOT NULL - , elementid INT DEFAULT 0 NOT NULL - , linkobjectid INT - , text TEXT - , number INT - , date INT - , active INT DEFAULT 0 NOT NULL - , publish INT NOT NULL - , lastchange_date INT DEFAULT 0 NOT NULL - , lastchange_userid INT DEFAULT 0 - , PRIMARY KEY (id) - , CONSTRAINT fk_value_01 FOREIGN KEY (pageid) - REFERENCES or_page (id) ON DELETE RESTRICT ON UPDATE RESTRICT - , CONSTRAINT fk_value_02 FOREIGN KEY (elementid) - REFERENCES or_element (id) ON DELETE RESTRICT ON UPDATE RESTRICT - , CONSTRAINT fk_value_03 FOREIGN KEY (languageid) - REFERENCES or_language (id) ON DELETE RESTRICT ON UPDATE RESTRICT - , CONSTRAINT fk_value_04 FOREIGN KEY (lastchange_userid) - REFERENCES or_user (id) ON DELETE RESTRICT ON UPDATE RESTRICT - , CONSTRAINT fk_value_05 FOREIGN KEY (linkobjectid) - REFERENCES or_object (id) ON DELETE RESTRICT ON UPDATE RESTRICT -); -CREATE INDEX idx_value_01 ON or_value (pageid); -CREATE INDEX idx_value_02 ON or_value (languageid); -CREATE INDEX idx_value_03 ON or_value (elementid); -CREATE INDEX idx_value_04 ON or_value (active); -CREATE INDEX idx_value_05 ON or_value (lastchange_date); -CREATE INDEX idx_value_06 ON or_value (elementid); -CREATE INDEX idx_value_07 ON or_value (publish); - -CREATE TABLE or_acl ( - id INT NOT NULL - , userid INT - , groupid INT - , objectid INT DEFAULT 0 NOT NULL - , languageid INT DEFAULT 0 - , is_write INT DEFAULT 0 NOT NULL - , is_prop INT DEFAULT 0 NOT NULL - , is_create_folder INT DEFAULT 0 NOT NULL - , is_create_file INT DEFAULT 0 NOT NULL - , is_create_link INT DEFAULT 0 NOT NULL - , is_create_page INT DEFAULT 0 NOT NULL - , is_delete INT DEFAULT 0 NOT NULL - , is_release INT NOT NULL - , is_publish INT DEFAULT 0 NOT NULL - , is_grant INT DEFAULT 0 NOT NULL - , is_transmit CHAR(10) NOT NULL - , PRIMARY KEY (id) - , CONSTRAINT fk_acl_01 FOREIGN KEY (groupid) - REFERENCES or_group (id) ON DELETE RESTRICT ON UPDATE RESTRICT - , CONSTRAINT fk_acl_02 FOREIGN KEY (userid) - REFERENCES or_user (id) ON DELETE RESTRICT ON UPDATE RESTRICT - , CONSTRAINT fk_acl_03 FOREIGN KEY (objectid) - REFERENCES or_object (id) ON DELETE RESTRICT ON UPDATE RESTRICT - , CONSTRAINT fk_acl_04 FOREIGN KEY (languageid) - REFERENCES or_language (id) ON DELETE RESTRICT ON UPDATE RESTRICT -); -CREATE INDEX idx_acl_01 ON or_acl (userid); -CREATE INDEX idx_acl_02 ON or_acl (groupid); -CREATE INDEX idx_acl_03 ON or_acl (languageid); -CREATE INDEX idx_acl_04 ON or_acl (objectid); -CREATE INDEX idx_acl_05 ON or_acl (is_transmit); - + +CREATE TABLE or_project ( + id INT NOT NULL + , name VARCHAR(128) NOT NULL + , target_dir VARCHAR(255) NOT NULL + , ftp_url VARCHAR(255) NOT NULL + , ftp_passive CHAR(1) DEFAULT '0' NOT NULL + , cmd_after_publish VARCHAR(255) NOT NULL + , content_negotiation CHAR(1) DEFAULT '0' NOT NULL + , cut_index CHAR(1) DEFAULT '0' NOT NULL + , PRIMARY KEY (id) +); +CREATE UNIQUE INDEX idx_project_uk ON or_project (name); + +CREATE TABLE or_user ( + id INT NOT NULL + , name VARCHAR(128) NOT NULL + , password VARCHAR(50) NOT NULL + , ldap_dn VARCHAR(255) NOT NULL + , fullname VARCHAR(128) NOT NULL + , tel VARCHAR(128) NOT NULL + , mail VARCHAR(255) NOT NULL + , descr VARCHAR(255) NOT NULL + , style VARCHAR(64) NOT NULL + , is_admin INT DEFAULT 0 NOT NULL + , PRIMARY KEY (id) +); +CREATE UNIQUE INDEX idx_user_uk ON or_user (name); + +CREATE TABLE or_group ( + id INT NOT NULL + , name VARCHAR(100) NOT NULL + , PRIMARY KEY (id) +); +CREATE UNIQUE INDEX idx_group_uk ON or_group (name); + +CREATE TABLE or_object ( + id INT NOT NULL + , parentid INT + , projectid INT DEFAULT 0 NOT NULL + , filename VARCHAR(255) NOT NULL + , orderid INT DEFAULT 0 NOT NULL + , create_date INT DEFAULT 0 NOT NULL + , create_userid INT DEFAULT 0 + , lastchange_date INT DEFAULT 0 NOT NULL + , lastchange_userid INT DEFAULT 0 + , is_folder INT DEFAULT 0 NOT NULL + , is_file INT DEFAULT 0 NOT NULL + , is_page INT DEFAULT 0 NOT NULL + , is_link INT DEFAULT 0 NOT NULL + , PRIMARY KEY (id) + , CONSTRAINT fk_object_01 FOREIGN KEY (projectid) + REFERENCES or_project (id) ON DELETE RESTRICT ON UPDATE RESTRICT + , CONSTRAINT fk_object_02 FOREIGN KEY (lastchange_userid) + REFERENCES or_user (id) ON DELETE RESTRICT ON UPDATE RESTRICT + , CONSTRAINT fk_object_03 FOREIGN KEY (create_userid) + REFERENCES or_user (id) ON DELETE RESTRICT ON UPDATE RESTRICT +); +CREATE INDEX idx_object_01 ON or_object (parentid); +CREATE INDEX idx_object_02 ON or_object (projectid); +CREATE INDEX idx_object_03 ON or_object (is_folder); +CREATE INDEX idx_object_04 ON or_object (is_file); +CREATE INDEX idx_object_05 ON or_object (is_page); +CREATE INDEX idx_object_06 ON or_object (is_link); +CREATE INDEX idx_object_07 ON or_object (orderid); +CREATE INDEX idx_object_08 ON or_object (create_userid); +CREATE INDEX idx_object_09 ON or_object (lastchange_userid); +CREATE UNIQUE INDEX idx_object_uk ON or_object (parentid, filename); + +CREATE TABLE or_template ( + id INT NOT NULL + , projectid INT NOT NULL + , name VARCHAR(50) NOT NULL + , PRIMARY KEY (id) + , CONSTRAINT fk_template_01 FOREIGN KEY (projectid) + REFERENCES or_project (id) ON DELETE RESTRICT ON UPDATE RESTRICT +); +CREATE INDEX idx_template_01 ON or_template (projectid); +CREATE INDEX idx_template_02 ON or_template (name); +CREATE UNIQUE INDEX idx_template_uk ON or_template (projectid, name); + +CREATE TABLE or_language ( + id INT NOT NULL + , projectid INT DEFAULT 0 NOT NULL + , isocode VARCHAR(10) NOT NULL + , name VARCHAR(50) NOT NULL + , is_default INT DEFAULT 0 NOT NULL + , PRIMARY KEY (id) + , CONSTRAINT fk_language_01 FOREIGN KEY (projectid) + REFERENCES or_project (id) ON DELETE RESTRICT ON UPDATE RESTRICT +); +CREATE UNIQUE INDEX idx_language_uk ON or_language (projectid, isocode); + +CREATE TABLE or_page ( + id INT NOT NULL + , objectid INT DEFAULT 0 NOT NULL + , templateid INT DEFAULT 0 NOT NULL + , PRIMARY KEY (id) + , CONSTRAINT fk_page_01 FOREIGN KEY (templateid) + REFERENCES or_template (id) ON DELETE RESTRICT ON UPDATE RESTRICT + , CONSTRAINT fk_page_02 FOREIGN KEY (objectid) + REFERENCES or_object (id) ON DELETE RESTRICT ON UPDATE RESTRICT +); +CREATE UNIQUE INDEX idx_page_uk ON or_page (objectid); +CREATE INDEX idx_page_01 ON or_page (templateid); + +CREATE TABLE or_projectmodel ( + id INT NOT NULL + , projectid INT DEFAULT 0 NOT NULL + , name VARCHAR(50) NOT NULL + , extension VARCHAR(10) + , is_default CHAR(10) DEFAULT '0' NOT NULL + , PRIMARY KEY (id) + , CONSTRAINT fk_projectmodel_01 FOREIGN KEY (projectid) + REFERENCES or_project (id) ON DELETE RESTRICT ON UPDATE RESTRICT +); +CREATE INDEX idx_projectmodel_01 ON or_projectmodel (projectid); +CREATE UNIQUE INDEX idx_projectmodel_uk ON or_projectmodel (projectid, name); + +CREATE TABLE or_element ( + id INT NOT NULL + , templateid INT DEFAULT 0 NOT NULL + , name VARCHAR(50) NOT NULL + , descr VARCHAR(255) NOT NULL + , type VARCHAR(20) NOT NULL + , subtype VARCHAR(20) + , with_icon CHAR(1) DEFAULT '0' NOT NULL + , dateformat VARCHAR(100) + , wiki CHAR(1) DEFAULT '0' + , html CHAR(1) DEFAULT '0' + , all_languages CHAR(1) DEFAULT '0' NOT NULL + , writable CHAR(1) DEFAULT '0' NOT NULL + , decimals CHAR(4) DEFAULT '0' + , dec_point VARCHAR(5) + , thousand_sep CHAR(1) + , code TEXT + , default_text TEXT + , folderobjectid INT + , default_objectid INT + , PRIMARY KEY (id) + , CONSTRAINT fk_element_01 FOREIGN KEY (default_objectid) + REFERENCES or_object (id) ON DELETE RESTRICT ON UPDATE RESTRICT + , CONSTRAINT fk_element_02 FOREIGN KEY (folderobjectid) + REFERENCES or_object (id) ON DELETE RESTRICT ON UPDATE RESTRICT + , CONSTRAINT fk_element_03 FOREIGN KEY (templateid) + REFERENCES or_template (id) ON DELETE RESTRICT ON UPDATE RESTRICT +); +CREATE INDEX idx_element_01 ON or_element (templateid); +CREATE INDEX idx_element_02 ON or_element (name); +CREATE UNIQUE INDEX idx_element_uk ON or_element (templateid, name); + +CREATE TABLE or_file ( + id INT NOT NULL + , objectid INT DEFAULT 0 NOT NULL + , extension VARCHAR(10) NOT NULL + , size INT DEFAULT 0 NOT NULL + , value TEXT NOT NULL + , PRIMARY KEY (id) + , CONSTRAINT fk_file_01 FOREIGN KEY (objectid) + REFERENCES or_object (id) ON DELETE RESTRICT ON UPDATE RESTRICT +); +CREATE UNIQUE INDEX idx_file_01 ON or_file (objectid); + +CREATE TABLE or_folder ( + id INT NOT NULL + , objectid INT DEFAULT 0 NOT NULL + , PRIMARY KEY (id) + , CONSTRAINT fk_folder_01 FOREIGN KEY (objectid) + REFERENCES or_object (id) ON DELETE RESTRICT ON UPDATE RESTRICT +); +CREATE UNIQUE INDEX idx_folder_01 ON or_folder (objectid); + +CREATE TABLE or_link ( + id INT NOT NULL + , objectid INT DEFAULT 0 NOT NULL + , link_objectid INT + , url VARCHAR(255) + , PRIMARY KEY (id) + , CONSTRAINT fk_link_01 FOREIGN KEY (objectid) + REFERENCES or_object (id) ON DELETE RESTRICT ON UPDATE RESTRICT + , CONSTRAINT fk_link_02 FOREIGN KEY (link_objectid) + REFERENCES or_object (id) ON DELETE RESTRICT ON UPDATE RESTRICT +); +CREATE UNIQUE INDEX idx_link_01 ON or_link (objectid); +CREATE INDEX idx_link_02 ON or_link (link_objectid); + +CREATE TABLE or_name ( + id INT NOT NULL + , objectid INT DEFAULT 0 NOT NULL + , name VARCHAR(255) NOT NULL + , descr VARCHAR(255) NOT NULL + , languageid INT DEFAULT 0 NOT NULL + , PRIMARY KEY (id) + , CONSTRAINT fk_name_01 FOREIGN KEY (objectid) + REFERENCES or_object (id) ON DELETE RESTRICT ON UPDATE RESTRICT + , CONSTRAINT fk_name_02 FOREIGN KEY (languageid) + REFERENCES or_language (id) ON DELETE RESTRICT ON UPDATE RESTRICT +); +CREATE INDEX idx_name_01 ON or_name (objectid); +CREATE INDEX idx_name_02 ON or_name (languageid); +CREATE UNIQUE INDEX idx_name_uk ON or_name (objectid, languageid); + +CREATE TABLE or_templatemodel ( + id INT NOT NULL + , templateid INT DEFAULT 0 NOT NULL + , projectmodelid INT DEFAULT 0 NOT NULL + , extension VARCHAR(10) + , text TEXT NOT NULL + , PRIMARY KEY (id) + , CONSTRAINT UQ_or_templatemodel_1 UNIQUE (templateid, extension) + , CONSTRAINT fk_templatemodel_01 FOREIGN KEY (templateid) + REFERENCES or_template (id) ON DELETE RESTRICT ON UPDATE RESTRICT + , CONSTRAINT fk_templatemodel_02 FOREIGN KEY (projectmodelid) + REFERENCES or_projectmodel (id) ON DELETE RESTRICT ON UPDATE RESTRICT +); +CREATE INDEX idx_templatemodel_01 ON or_templatemodel (templateid); +CREATE UNIQUE INDEX idx_templatemodel_uk_01 ON or_templatemodel (templateid, projectmodelid); + +CREATE TABLE or_usergroup ( + id INT NOT NULL + , userid INT DEFAULT 0 NOT NULL + , groupid INT DEFAULT 0 NOT NULL + , PRIMARY KEY (id) + , CONSTRAINT fk_usergroup_01 FOREIGN KEY (groupid) + REFERENCES or_group (id) ON DELETE RESTRICT ON UPDATE RESTRICT + , CONSTRAINT fk_usergroup_02 FOREIGN KEY (userid) + REFERENCES or_user (id) ON DELETE RESTRICT ON UPDATE RESTRICT +); +CREATE INDEX idx_usergroup_01 ON or_usergroup (groupid); +CREATE INDEX idx_usergroup_02 ON or_usergroup (userid); +CREATE UNIQUE INDEX idx_usergroup_uk ON or_usergroup (userid, groupid); + +CREATE TABLE or_value ( + id INT NOT NULL + , pageid INT DEFAULT 0 NOT NULL + , languageid INT NOT NULL + , elementid INT DEFAULT 0 NOT NULL + , linkobjectid INT + , text TEXT + , number INT + , date INT + , active INT DEFAULT 0 NOT NULL + , publish INT NOT NULL + , lastchange_date INT DEFAULT 0 NOT NULL + , lastchange_userid INT DEFAULT 0 + , PRIMARY KEY (id) + , CONSTRAINT fk_value_01 FOREIGN KEY (pageid) + REFERENCES or_page (id) ON DELETE RESTRICT ON UPDATE RESTRICT + , CONSTRAINT fk_value_02 FOREIGN KEY (elementid) + REFERENCES or_element (id) ON DELETE RESTRICT ON UPDATE RESTRICT + , CONSTRAINT fk_value_03 FOREIGN KEY (languageid) + REFERENCES or_language (id) ON DELETE RESTRICT ON UPDATE RESTRICT + , CONSTRAINT fk_value_04 FOREIGN KEY (lastchange_userid) + REFERENCES or_user (id) ON DELETE RESTRICT ON UPDATE RESTRICT + , CONSTRAINT fk_value_05 FOREIGN KEY (linkobjectid) + REFERENCES or_object (id) ON DELETE RESTRICT ON UPDATE RESTRICT +); +CREATE INDEX idx_value_01 ON or_value (pageid); +CREATE INDEX idx_value_02 ON or_value (languageid); +CREATE INDEX idx_value_03 ON or_value (elementid); +CREATE INDEX idx_value_04 ON or_value (active); +CREATE INDEX idx_value_05 ON or_value (lastchange_date); +CREATE INDEX idx_value_06 ON or_value (elementid); +CREATE INDEX idx_value_07 ON or_value (publish); + +CREATE TABLE or_acl ( + id INT NOT NULL + , userid INT + , groupid INT + , objectid INT DEFAULT 0 NOT NULL + , languageid INT DEFAULT 0 + , is_write INT DEFAULT 0 NOT NULL + , is_prop INT DEFAULT 0 NOT NULL + , is_create_folder INT DEFAULT 0 NOT NULL + , is_create_file INT DEFAULT 0 NOT NULL + , is_create_link INT DEFAULT 0 NOT NULL + , is_create_page INT DEFAULT 0 NOT NULL + , is_delete INT DEFAULT 0 NOT NULL + , is_release INT NOT NULL + , is_publish INT DEFAULT 0 NOT NULL + , is_grant INT DEFAULT 0 NOT NULL + , is_transmit CHAR(10) NOT NULL + , PRIMARY KEY (id) + , CONSTRAINT fk_acl_01 FOREIGN KEY (groupid) + REFERENCES or_group (id) ON DELETE RESTRICT ON UPDATE RESTRICT + , CONSTRAINT fk_acl_02 FOREIGN KEY (userid) + REFERENCES or_user (id) ON DELETE RESTRICT ON UPDATE RESTRICT + , CONSTRAINT fk_acl_03 FOREIGN KEY (objectid) + REFERENCES or_object (id) ON DELETE RESTRICT ON UPDATE RESTRICT + , CONSTRAINT fk_acl_04 FOREIGN KEY (languageid) + REFERENCES or_language (id) ON DELETE RESTRICT ON UPDATE RESTRICT +); +CREATE INDEX idx_acl_01 ON or_acl (userid); +CREATE INDEX idx_acl_02 ON or_acl (groupid); +CREATE INDEX idx_acl_03 ON or_acl (languageid); +CREATE INDEX idx_acl_04 ON or_acl (objectid); +CREATE INDEX idx_acl_05 ON or_acl (is_transmit); + -- Insert 1 Admin-User INSERT INTO or_user (id,name,password,ldap_dn,fullname,tel,mail,descr,style,is_admin) - VALUES( 1,'admin','21232f297a57a5a743894a0e4a801fc3','','Administrator','','','The Admin User','default',1 ) + VALUES( 1,'admin','21232f297a57a5a743894a0e4a801fc3','','Administrator','','','The Admin User','default',1 )