chore: squash inactive mysql sqlite migrations

This commit is contained in:
fawney19
2026-05-06 03:09:53 +08:00
parent d7c2232062
commit 6219491389
25 changed files with 1095 additions and 515 deletions

View File

@@ -18,6 +18,8 @@ CREATE TABLE IF NOT EXISTS users (
created_at BIGINT NOT NULL,
updated_at BIGINT NOT NULL,
last_login_at BIGINT,
ldap_dn VARCHAR(1024),
ldap_username VARCHAR(255),
UNIQUE KEY users_email_key (email),
UNIQUE KEY users_username_key (username)
);
@@ -118,3 +120,48 @@ CREATE TABLE IF NOT EXISTS management_tokens (
UNIQUE KEY uq_management_tokens_user_name (user_id, name),
KEY management_tokens_user_id_idx (user_id)
);
CREATE TABLE IF NOT EXISTS user_preferences (
id VARCHAR(36) PRIMARY KEY,
user_id VARCHAR(36) NOT NULL UNIQUE,
avatar_url VARCHAR(500),
bio TEXT,
default_provider_id VARCHAR(36),
theme VARCHAR(20) NOT NULL DEFAULT 'light',
language VARCHAR(10) NOT NULL DEFAULT 'zh-CN',
timezone VARCHAR(50) NOT NULL DEFAULT 'Asia/Shanghai',
email_notifications BOOLEAN NOT NULL DEFAULT TRUE,
usage_alerts BOOLEAN NOT NULL DEFAULT TRUE,
announcement_notifications BOOLEAN NOT NULL DEFAULT TRUE,
created_at BIGINT NOT NULL,
updated_at BIGINT NOT NULL,
INDEX user_preferences_default_provider_id_idx (default_provider_id),
INDEX user_preferences_user_id_idx (user_id)
);
CREATE TABLE IF NOT EXISTS user_sessions (
id VARCHAR(36) PRIMARY KEY,
user_id VARCHAR(36) NOT NULL,
client_device_id VARCHAR(128) NOT NULL,
device_label VARCHAR(120),
device_type VARCHAR(20) NOT NULL DEFAULT 'unknown',
browser_name VARCHAR(50),
browser_version VARCHAR(50),
os_name VARCHAR(50),
os_version VARCHAR(50),
device_model VARCHAR(100),
ip_address VARCHAR(45),
user_agent VARCHAR(1000),
client_hints TEXT,
refresh_token_hash VARCHAR(64) NOT NULL,
prev_refresh_token_hash VARCHAR(64),
rotated_at BIGINT,
last_seen_at BIGINT NOT NULL,
expires_at BIGINT NOT NULL,
revoked_at BIGINT,
revoke_reason VARCHAR(100),
created_at BIGINT NOT NULL,
updated_at BIGINT NOT NULL,
INDEX user_sessions_user_active_idx (user_id, revoked_at, expires_at),
INDEX user_sessions_user_device_idx (user_id, client_device_id)
);