Files
tradon/backend/postgresql/init.sql
2025-12-26 13:11:43 +00:00

157 lines
4.7 KiB
SQL
Executable File

CREATE TABLE ir_configuration (
id INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL
CONSTRAINT ir_configuration_id_positive CHECK(id >= 0),
language VARCHAR,
hostname VARCHAR,
PRIMARY KEY(id)
);
CREATE TABLE ir_model (
id INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL
CONSTRAINT ir_model_id_positive CHECK(id >= 0),
model VARCHAR NOT NULL,
name VARCHAR,
info TEXT,
module VARCHAR,
PRIMARY KEY(id)
);
ALTER TABLE ir_model ADD CONSTRAINT ir_model_model_uniq UNIQUE (model);
CREATE TABLE ir_model_field (
id INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL
CONSTRAINT ir_model_field_id_positive CHECK(id >= 0),
model VARCHAR NOT NULL,
name VARCHAR NOT NULL,
relation VARCHAR,
field_description VARCHAR,
ttype VARCHAR,
help TEXT,
module VARCHAR,
"access" BOOL,
PRIMARY KEY(id),
FOREIGN KEY (model) REFERENCES ir_model(model) ON DELETE CASCADE
);
ALTER TABLE ir_model_field ADD CONSTRAINT ir_model_field_name_model_uniq UNIQUE (name, model);
CREATE TABLE ir_ui_view (
id INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL
CONSTRAINT ir_ui_view_id_positive CHECK(id >= 0),
model VARCHAR NOT NULL,
"type" VARCHAR,
data TEXT NOT NULL,
field_childs VARCHAR,
priority INTEGER NOT NULL,
PRIMARY KEY(id)
);
CREATE TABLE ir_ui_menu (
id INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL
CONSTRAINT ir_ui_menu_id_positive CHECK(id >= 0),
parent INTEGER,
name VARCHAR NOT NULL,
icon VARCHAR,
PRIMARY KEY (id),
FOREIGN KEY (parent) REFERENCES ir_ui_menu (id) ON DELETE SET NULL
);
CREATE TABLE ir_translation (
id INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL
CONSTRAINT ir_translation_id_positive CHECK(id >= 0),
lang VARCHAR,
src TEXT,
name VARCHAR NOT NULL,
res_id INTEGER,
value TEXT,
"type" VARCHAR,
module VARCHAR,
fuzzy BOOLEAN NOT NULL,
PRIMARY KEY(id)
);
CREATE TABLE ir_lang (
id INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL
CONSTRAINT ir_lang_id_positive CHECK(id >= 0),
name VARCHAR NOT NULL,
code VARCHAR NOT NULL,
translatable BOOLEAN NOT NULL,
parent VARCHAR,
active BOOLEAN NOT NULL,
direction VARCHAR NOT NULL,
PRIMARY KEY(id)
);
CREATE TABLE res_user (
id INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL
CONSTRAINT res_user_id_positive CHECK(id >= 0),
name VARCHAR NOT NULL,
active BOOLEAN NOT NULL,
login VARCHAR NOT NULL,
password VARCHAR,
PRIMARY KEY(id)
);
ALTER TABLE res_user ADD CONSTRAINT res_user_login_key UNIQUE (login);
INSERT INTO res_user (id, login, password, name, active) VALUES (0, 'root', NULL, 'Root', False);
CREATE TABLE res_group (
id INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL
CONSTRAINT res_group_id_positive CHECK(id >= 0),
name VARCHAR NOT NULL,
PRIMARY KEY(id)
);
CREATE TABLE "res_user-res_group" (
id INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL
CONSTRAINT "res_user-res_group_id_positive" CHECK(id >= 0),
"user" INTEGER NOT NULL,
"group" INTEGER NOT NULL,
FOREIGN KEY ("user") REFERENCES res_user (id) ON DELETE CASCADE,
FOREIGN KEY ("group") REFERENCES res_group (id) ON DELETE CASCADE,
PRIMARY KEY(id)
);
CREATE TABLE ir_module (
id INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL
CONSTRAINT ir_module_id_positive CHECK(id >= 0),
create_uid INTEGER NOT NULL,
create_date TIMESTAMP WITHOUT TIME ZONE NOT NULL,
write_date TIMESTAMP WITHOUT TIME ZONE,
write_uid INTEGER,
name VARCHAR NOT NULL,
state VARCHAR,
PRIMARY KEY(id),
FOREIGN KEY (create_uid) REFERENCES res_user ON DELETE SET NULL,
FOREIGN KEY (write_uid) REFERENCES res_user ON DELETE SET NULL
);
ALTER TABLE ir_module ADD CONSTRAINT ir_module_name_uniq UNIQUE (name);
CREATE TABLE ir_module_dependency (
id INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL
CONSTRAINT ir_module_dependency_id_positive CHECK(id >= 0),
create_uid INTEGER NOT NULL,
create_date TIMESTAMP WITHOUT TIME ZONE NOT NULL,
write_date TIMESTAMP WITHOUT TIME ZONE,
write_uid INTEGER,
name VARCHAR,
module INTEGER,
PRIMARY KEY(id),
FOREIGN KEY (create_uid) REFERENCES res_user ON DELETE SET NULL,
FOREIGN KEY (write_uid) REFERENCES res_user ON DELETE SET NULL,
FOREIGN KEY (module) REFERENCES ir_module ON DELETE CASCADE
);
CREATE TABLE ir_cache (
id INTEGER GENERATED BY DEFAULT AS IDENTITY NOT NULL
CONSTRAINT ir_cache_id_positive CHECK(id >= 0),
name VARCHAR NOT NULL,
"timestamp" TIMESTAMP WITHOUT TIME ZONE,
create_date TIMESTAMP WITHOUT TIME ZONE,
create_uid INTEGER,
write_date TIMESTAMP WITHOUT TIME ZONE,
write_uid INTEGER
);