77 lines
2.4 KiB
SQL
77 lines
2.4 KiB
SQL
CREATE TABLE setting_groups (
|
|
Id integer primary key autoincrement,
|
|
Description varchar(256) NOT NULL
|
|
);
|
|
|
|
CREATE TABLE setting_data_types (
|
|
Id integer primary key autoincrement,
|
|
Description varchar(64) NOT NULL
|
|
);
|
|
|
|
CREATE TABLE settings (
|
|
Id integer primary key autoincrement,
|
|
Description varchar(256) NOT NULL,
|
|
Constrained boolean NOT NULL,
|
|
DataType integer NOT NULL,
|
|
SettingGroup int NOT NULL,
|
|
MinValue varchar(6),
|
|
MaxValue varchar(6),
|
|
FOREIGN KEY (DataType) REFERENCES setting_data_types(Id)
|
|
ON DELETE RESTRICT
|
|
ON UPDATE RESTRICT,
|
|
FOREIGN KEY (SettingGroup) REFERENCES setting_groups(Id)
|
|
ON DELETE RESTRICT
|
|
ON UPDATE RESTRICT
|
|
);
|
|
|
|
CREATE TABLE allowed_setting_values (
|
|
Id integer primary key autoincrement,
|
|
SettingId integer NOT NULL,
|
|
ItemValue varchar(256),
|
|
Caption varchar(256),
|
|
FOREIGN KEY (SettingId) REFERENCES settings(Id)
|
|
ON DELETE RESTRICT
|
|
ON UPDATE RESTRICT
|
|
);
|
|
|
|
CREATE TABLE user_settings (
|
|
Id integer primary key autoincrement,
|
|
UserId integer NOT NULL,
|
|
SettingId integer NOT NULL,
|
|
AllowedSettingValueId integer,
|
|
UnconstrainedValue varchar(256),
|
|
FOREIGN KEY (UserId) REFERENCES users(Id)
|
|
ON DELETE RESTRICT
|
|
ON UPDATE RESTRICT,
|
|
FOREIGN KEY (SettingId) REFERENCES settings(Id)
|
|
ON DELETE RESTRICT
|
|
ON UPDATE RESTRICT,
|
|
FOREIGN KEY (AllowedSettingValueId) REFERENCES allowed_setting_values(Id)
|
|
ON DELETE RESTRICT
|
|
ON UPDATE RESTRICT
|
|
);
|
|
|
|
CREATE TABLE guestbook_settings (
|
|
Id integer primary key autoincrement,
|
|
GuestbookId integer NOT NULL,
|
|
SettingId integer NOT NULL,
|
|
AllowedSettingValueId integer,
|
|
UnconstrainedValue varchar(256),
|
|
FOREIGN KEY (GuestbookId) REFERENCES guestbooks(Id)
|
|
ON DELETE RESTRICT
|
|
ON UPDATE RESTRICT,
|
|
FOREIGN KEY (SettingId) REFERENCES settings(Id)
|
|
ON DELETE RESTRICT
|
|
ON UPDATE RESTRICT,
|
|
FOREIGN KEY (AllowedSettingValueId) REFERENCES allowed_setting_values(Id)
|
|
ON DELETE RESTRICT
|
|
ON UPDATE RESTRICT
|
|
);
|
|
|
|
INSERT INTO setting_groups (Description) VALUES ('guestbook');
|
|
INSERT INTO setting_groups (Description) VALUES ('user');
|
|
|
|
INSERT INTO setting_data_types (Description) VALUES ('alphanumeric');
|
|
INSERT INTO setting_data_types (Description) VALUES ('integer');
|
|
INSERT INTO setting_data_types (Description) VALUES ('datetime');
|