sibling_order INTEGER NOT NULL DEFAULT 0,
CONSTRAINT aouctn_once_per_org UNIQUE (tree, org_unit)
+CREATE TABLE actor.search_query (
+ id SERIAL PRIMARY KEY,
+ label TEXT NOT NULL, -- i18n
+ query_text TEXT NOT NULL -- QP text
+);
+
CREATE TABLE actor.search_filter_group (
id SERIAL PRIMARY KEY,
- owner INT NOT NULL REFERENCES actor.org_unit (id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,
- code TEXT NOT NULL, -- use in templates / CGI params
+ owner INT NOT NULL REFERENCES actor.org_unit (id)
+ ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,
label TEXT NOT NULL, -- i18n
create_date TIMESTAMPTZ NOT NULL DEFAULT now(),
- CONSTRAINT sf_code_once_per_org UNIQUE (owner, code),
- CONSTRAINT sf_label_once_per_org UNIQUE (owner, label)
+ CONSTRAINT asfg_label_once_per_org UNIQUE (owner, label)
);
CREATE TABLE actor.search_filter_group_entry (
- id SERIAL PRIMARY KEY,
- grp INT NOT NULL REFERENCES actor.search_filter_group(id) ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,
- label TEXT NOT NULL, -- i18n
- pos INT NOT NULL DEFAULT 0,
- query_text TEXT NOT NULL, -- QP text
- CONSTRAINT query_once_per_group UNIQUE (grp, query_text)
+ id SERIAL PRIMARY KEY,
+ grp INT NOT NULL REFERENCES actor.search_filter_group(id)
+ ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,
+ pos INT NOT NULL DEFAULT 0,
+ query INT NOT NULL REFERENCES actor.search_query(id)
+ ON DELETE CASCADE DEFERRABLE INITIALLY DEFERRED,
+ CONSTRAINT asfge_query_once_per_group UNIQUE (grp, query)
);
COMMIT;