Files
folio/database/migration_016_dictionary.sql
T

45 lines
1.4 KiB
SQL

-- Tables du dictionnaire de données (formulaires dynamiques)
CREATE TABLE IF NOT EXISTS dd_entities (
id SERIAL PRIMARY KEY,
code TEXT NOT NULL UNIQUE,
label TEXT NOT NULL DEFAULT '',
is_active BOOLEAN NOT NULL DEFAULT TRUE
);
CREATE TABLE IF NOT EXISTS dd_fields (
id SERIAL PRIMARY KEY,
entity_id INTEGER NOT NULL REFERENCES dd_entities(id) ON DELETE CASCADE,
code TEXT NOT NULL,
label TEXT NOT NULL DEFAULT '',
field_type TEXT NOT NULL DEFAULT 'text',
ui_order INTEGER,
is_required BOOLEAN NOT NULL DEFAULT FALSE,
default_val TEXT,
UNIQUE (entity_id, code)
);
CREATE TABLE IF NOT EXISTS dd_rules (
id SERIAL PRIMARY KEY,
entity_id INTEGER NOT NULL REFERENCES dd_entities(id) ON DELETE CASCADE,
rule_type TEXT NOT NULL,
expression TEXT,
message TEXT,
active BOOLEAN NOT NULL DEFAULT TRUE
);
CREATE TABLE IF NOT EXISTS dd_enums (
id SERIAL PRIMARY KEY,
name TEXT NOT NULL UNIQUE
);
CREATE TABLE IF NOT EXISTS dd_enum_values (
id SERIAL PRIMARY KEY,
enum_id INTEGER NOT NULL REFERENCES dd_enums(id) ON DELETE CASCADE,
code TEXT NOT NULL,
label TEXT NOT NULL DEFAULT '',
active BOOLEAN NOT NULL DEFAULT TRUE,
sort_order INTEGER NOT NULL DEFAULT 0,
UNIQUE (enum_id, code)
);