42 lines
1.5 KiB
SQL
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';
|
|
|