43 lines
2.0 KiB
SQL
43 lines
2.0 KiB
SQL
CREATE TABLE settings (
|
|
app_id NUMBER(4,0) CONSTRAINT nn_settings_app_id NOT NULL,
|
|
setting_name VARCHAR2(30) CONSTRAINT nn_settings_id NOT NULL,
|
|
setting_value VARCHAR2(256),
|
|
setting_context VARCHAR2(64),
|
|
setting_group VARCHAR2(64),
|
|
is_numeric CHAR(1),
|
|
is_date CHAR(1),
|
|
is_private CHAR(1),
|
|
description_ VARCHAR2(1000),
|
|
updated_by VARCHAR2(30),
|
|
updated_at DATE,
|
|
--
|
|
CONSTRAINT ch_settings_is_active
|
|
CHECK ((is_numeric = 'Y' AND is_date IS NULL) OR is_numeric IS NULL),
|
|
--
|
|
CONSTRAINT ch_settings_is_date
|
|
CHECK ((is_date = 'Y' AND is_numeric IS NULL) OR is_date IS NULL),
|
|
--
|
|
CONSTRAINT uq_settings
|
|
UNIQUE (app_id, setting_name, setting_context)
|
|
--
|
|
CONSTRAINT ch_settings_is_private
|
|
CHECK (is_private = 'Y' OR is_private IS NULL),
|
|
--
|
|
CONSTRAINT fk_settings_app_id
|
|
FOREIGN KEY (app_id)
|
|
REFERENCES apps (app_id)
|
|
);
|
|
--
|
|
COMMENT ON TABLE settings IS '[CORE] List of settings shared through whole app';
|
|
--
|
|
COMMENT ON COLUMN settings.app_id IS 'Application ID';
|
|
COMMENT ON COLUMN settings.setting_name IS 'Setting ID';
|
|
COMMENT ON COLUMN settings.setting_value IS 'Value stored as string';
|
|
COMMENT ON COLUMN settings.setting_context IS 'To allow multiple values depending on context value';
|
|
COMMENT ON COLUMN settings.setting_group IS 'Group just for grouping set in APEX';
|
|
COMMENT ON COLUMN settings.is_numeric IS 'Flag to convert value to number';
|
|
COMMENT ON COLUMN settings.is_date IS 'Flag to convert value to date';
|
|
COMMENT ON COLUMN settings.is_private IS 'Visible for Developers only on Settings page';
|
|
COMMENT ON COLUMN settings.description_ IS 'Description';
|
|
|