CORE/tables/logs_setup.sql
2021-12-18 09:40:21 +01:00

42 lines
1.5 KiB
SQL

--DROP TABLE logs_setup CASCADE CONSTRAINTS PURGE;
CREATE TABLE logs_setup (
--
-- @TODO: ??? trigger/proc when new app is created (apps table) to prefill setup...
--
app_id NUMBER(4) CONSTRAINT nn_logs_setup_app_id NOT NULL,
user_id VARCHAR2(240),
page_id NUMBER(6),
flag CHAR(1),
module_like VARCHAR2(30),
--
is_ignored CHAR(1),
--
updated_by VARCHAR2(30),
updated_at DATE,
--
CONSTRAINT uq_logs_setup
UNIQUE (app_id, user_id, page_id, flag, module_like),
--
CONSTRAINT fk_logs_setup_app_id
FOREIGN KEY (app_id)
REFERENCES apps (app_id),
--
CONSTRAINT fk_logs_setup_user_id
FOREIGN KEY (user_id)
REFERENCES users (user_id),
--
CONSTRAINT ch_logs_setup_is_ignored
CHECK (is_ignored = 'Y' OR is_ignored IS NULL)
)
STORAGE (BUFFER_POOL KEEP);
--
COMMENT ON TABLE logs_setup IS 'Define what logs will or wont be tracked';
--
COMMENT ON COLUMN logs_setup.app_id IS 'App ID';
COMMENT ON COLUMN logs_setup.page_id IS 'APEX page ID, NULL = any page';
COMMENT ON COLUMN logs_setup.user_id IS 'User ID, NULL = any user';
COMMENT ON COLUMN logs_setup.flag IS 'Flag to differentiate logs, NULL = any flag';
COMMENT ON COLUMN logs_setup.module_like IS 'Module name, NULL = any module';
COMMENT ON COLUMN logs_setup.is_ignored IS 'Y = dont store in table';