34 lines
1.3 KiB
SQL
34 lines
1.3 KiB
SQL
CREATE DATABASE IF NOT EXISTS wendajia DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
|
|
USE wendajia;
|
|
|
|
CREATE TABLE IF NOT EXISTS admin_users (
|
|
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
username VARCHAR(64) NOT NULL,
|
|
password_hash VARCHAR(255) NOT NULL,
|
|
display_name VARCHAR(64) NOT NULL,
|
|
role_code VARCHAR(32) NOT NULL DEFAULT 'operator',
|
|
is_active TINYINT(1) NOT NULL DEFAULT 1,
|
|
last_login_at DATETIME NULL,
|
|
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
updated_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (id),
|
|
UNIQUE KEY uk_admin_users_username (username),
|
|
KEY idx_admin_users_role (role_code),
|
|
KEY idx_admin_users_status (is_active)
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
|
|
|
CREATE TABLE IF NOT EXISTS admin_login_logs (
|
|
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
|
|
user_id BIGINT UNSIGNED NULL,
|
|
username VARCHAR(64) NOT NULL,
|
|
success TINYINT(1) NOT NULL,
|
|
ip_address VARCHAR(45) NULL,
|
|
user_agent TEXT NULL,
|
|
created_at DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
PRIMARY KEY (id),
|
|
KEY idx_admin_login_logs_user (user_id),
|
|
KEY idx_admin_login_logs_username (username),
|
|
KEY idx_admin_login_logs_created (created_at),
|
|
CONSTRAINT fk_admin_login_logs_user FOREIGN KEY (user_id) REFERENCES admin_users(id) ON DELETE SET NULL
|
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|