90 lines
3.2 KiB
SQL
90 lines
3.2 KiB
SQL
DROP TABLE IF EXISTS tbl_group_membership;
|
|
DROP TABLE IF EXISTS tbl_group;
|
|
DROP TABLE IF EXISTS tbl_user;
|
|
DROP TABLE IF EXISTS tbl_provider;
|
|
DROP TABLE IF EXISTS tbl_schema;
|
|
|
|
CREATE TABLE tbl_provider (
|
|
id int(10) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
name varchar(255) NOT NULL,
|
|
url varchar(255) NOT NULL,
|
|
secret varchar(255) NOT NULL,
|
|
appname varchar(255) NOT NULL,
|
|
logo varchar(255) NOT NULL,
|
|
syncgroups LONGTEXT DEFAULT NULL,
|
|
defaultgroup TEXT DEFAULT NULL,
|
|
required_groups TEXT DEFAULT NULL,
|
|
nooidcgroups enum ('y', 'n') DEFAULT 'n' NOT NULL,
|
|
usernameblacklist TEXT DEFAULT NULL,
|
|
buttoncolor varchar(255) NOT NULL,
|
|
textcolor varchar(255) NOT NULL,
|
|
caption varchar(255) NOT NULL,
|
|
enforce_scheme_https enum ('y', 'n') DEFAULT 'n' NOT NULL,
|
|
enabled enum ('y', 'n') DEFAULT 'n' NOT NULL,
|
|
ctime bigint unsigned DEFAULT NULL,
|
|
mtime bigint unsigned DEFAULT NULL,
|
|
UNIQUE uq_oidc_provider_name (name) USING BTREE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
CREATE TABLE tbl_user (
|
|
id int(10) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
name varchar(255) NOT NULL,
|
|
email varchar(255) DEFAULT NULL,
|
|
provider_id int(10) unsigned NOT NULL,
|
|
mapped_local_user varchar(255) DEFAULT NULL,
|
|
mapped_backend varchar(255) DEFAULT NULL,
|
|
active int(10) unsigned NOT NULL,
|
|
lastlogin bigint unsigned DEFAULT NULL,
|
|
ctime bigint unsigned DEFAULT NULL,
|
|
mtime bigint unsigned DEFAULT NULL,
|
|
UNIQUE uq_oidc_user_name (name) USING BTREE,
|
|
FOREIGN KEY (provider_id)
|
|
REFERENCES tbl_provider (id)
|
|
ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
CREATE TABLE tbl_group (
|
|
id int(10) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
name varchar(255) NOT NULL,
|
|
provider_id int(10) unsigned NOT NULL,
|
|
parent int(10) DEFAULT NULL,
|
|
ctime bigint unsigned DEFAULT NULL,
|
|
mtime bigint unsigned DEFAULT NULL,
|
|
UNIQUE uq_oidc_group_name (name) USING BTREE,
|
|
FOREIGN KEY (provider_id)
|
|
REFERENCES tbl_provider (id)
|
|
ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
CREATE TABLE tbl_group_membership (
|
|
id int(10) unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY,
|
|
group_id int(10) unsigned NOT NULL,
|
|
provider_id int(10) unsigned NOT NULL,
|
|
username varchar(255) NOT NULL,
|
|
ctime bigint unsigned DEFAULT NULL,
|
|
mtime bigint unsigned DEFAULT NULL,
|
|
FOREIGN KEY (provider_id)
|
|
REFERENCES tbl_provider (id)
|
|
ON DELETE CASCADE,
|
|
FOREIGN KEY (group_id)
|
|
REFERENCES tbl_group (id)
|
|
ON DELETE CASCADE,
|
|
FOREIGN KEY (username)
|
|
REFERENCES tbl_user (name)
|
|
ON DELETE CASCADE
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
CREATE TABLE tbl_schema (
|
|
id int unsigned NOT NULL AUTO_INCREMENT,
|
|
version varchar(64) NOT NULL,
|
|
timestamp bigint unsigned NOT NULL,
|
|
success enum ('n', 'y') DEFAULT NULL,
|
|
reason text DEFAULT NULL,
|
|
|
|
PRIMARY KEY (id),
|
|
CONSTRAINT idx_tbl_schema_version UNIQUE (version)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_bin ROW_FORMAT=DYNAMIC;
|
|
|
|
|
|
INSERT INTO tbl_schema (version, timestamp, success, reason)
|
|
VALUES ('0.5.8', UNIX_TIMESTAMP() * 1000, 'y', NULL); |