You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
2.8 KiB
SQL
70 lines
2.8 KiB
SQL
CREATE TABLE IF NOT EXISTS sys_user (
|
|
id BIGINT PRIMARY KEY,
|
|
username VARCHAR(64) NOT NULL UNIQUE,
|
|
password_hash VARCHAR(100) NOT NULL,
|
|
enabled BOOLEAN NOT NULL,
|
|
created_at TIMESTAMP NOT NULL,
|
|
updated_at TIMESTAMP NOT NULL,
|
|
created_by VARCHAR(64) NOT NULL,
|
|
updated_by VARCHAR(64) NOT NULL,
|
|
deleted BOOLEAN NOT NULL DEFAULT FALSE
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS sys_role (
|
|
id BIGINT PRIMARY KEY,
|
|
name VARCHAR(64) NOT NULL UNIQUE,
|
|
created_at TIMESTAMP NOT NULL,
|
|
updated_at TIMESTAMP NOT NULL,
|
|
created_by VARCHAR(64) NOT NULL,
|
|
updated_by VARCHAR(64) NOT NULL,
|
|
deleted BOOLEAN NOT NULL DEFAULT FALSE
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS sys_user_role (
|
|
user_id BIGINT NOT NULL,
|
|
role_id BIGINT NOT NULL,
|
|
PRIMARY KEY (user_id, role_id),
|
|
CONSTRAINT fk_user_role_user FOREIGN KEY (user_id) REFERENCES sys_user(id),
|
|
CONSTRAINT fk_user_role_role FOREIGN KEY (role_id) REFERENCES sys_role(id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS platform_user_snapshot (
|
|
platform_user_id BIGINT PRIMARY KEY,
|
|
account VARCHAR(64) NOT NULL,
|
|
display_name VARCHAR(64) NOT NULL,
|
|
role_key VARCHAR(16) NOT NULL,
|
|
source_updated_at TIMESTAMP NOT NULL,
|
|
synced_at TIMESTAMP NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS auth_login_exchange_code (
|
|
code_hash CHAR(64) PRIMARY KEY,
|
|
platform_user_id BIGINT NOT NULL,
|
|
expires_at TIMESTAMP NOT NULL,
|
|
consumed_at TIMESTAMP NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS auth_refresh_token (
|
|
token_hash CHAR(64) PRIMARY KEY,
|
|
platform_user_id BIGINT NOT NULL,
|
|
expires_at TIMESTAMP NOT NULL,
|
|
revoked_at TIMESTAMP NULL
|
|
);
|
|
|
|
INSERT IGNORE INTO sys_role (id, name, created_at, updated_at, created_by, updated_by, deleted)
|
|
VALUES (1001, 'TEACHER', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'SYSTEM', 'SYSTEM', FALSE),
|
|
(1002, 'STUDENT', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'SYSTEM', 'SYSTEM', FALSE);
|
|
|
|
INSERT INTO sys_user (id, username, password_hash, enabled, created_at, updated_at, created_by, updated_by, deleted)
|
|
VALUES (487, 'tzs001', '$2a$10$ufcw5KFHtOmLzxAsV4C.MuIDOErMlw0iw5J5hc8OMzaTx0u9QYxG6', TRUE,
|
|
CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, 'SYSTEM', 'SYSTEM', FALSE)
|
|
ON DUPLICATE KEY UPDATE username = VALUES(username), password_hash = VALUES(password_hash), enabled = TRUE,
|
|
updated_at = CURRENT_TIMESTAMP, updated_by = 'SYSTEM', deleted = FALSE;
|
|
|
|
INSERT INTO platform_user_snapshot (platform_user_id, account, display_name, role_key, source_updated_at, synced_at)
|
|
VALUES (487, 'tzs001', 'tzs001', 'STUDENT', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP)
|
|
ON DUPLICATE KEY UPDATE account = VALUES(account), display_name = VALUES(display_name), role_key = VALUES(role_key),
|
|
source_updated_at = CURRENT_TIMESTAMP, synced_at = CURRENT_TIMESTAMP;
|
|
|
|
INSERT IGNORE INTO sys_user_role (user_id, role_id) VALUES (487, 1002);
|