feat: 添加Docker支持并优化SEO和用户认证
refactor: 重构页面元数据以支持SEO规范链接 feat(web): 实现用户积分系统和登录验证 docs: 添加Docker使用指南和更新README build: 添加Docker相关配置文件和脚本 chore: 更新依赖项并添加初始化SQL文件
This commit is contained in:
142
web/init.sql
Normal file
142
web/init.sql
Normal file
@@ -0,0 +1,142 @@
|
||||
--
|
||||
-- SQLiteStudio v3.4.17 生成的文件,周三 8月 20 17:58:34 2025
|
||||
--
|
||||
-- 所用的文本编码:System
|
||||
--
|
||||
PRAGMA foreign_keys = off;
|
||||
BEGIN TRANSACTION;
|
||||
|
||||
-- 表:__drizzle_migrations
|
||||
CREATE TABLE IF NOT EXISTS __drizzle_migrations (
|
||||
id SERIAL PRIMARY KEY,
|
||||
hash TEXT NOT NULL,
|
||||
created_at NUMERIC
|
||||
);
|
||||
|
||||
|
||||
-- 表:account
|
||||
CREATE TABLE IF NOT EXISTS account (
|
||||
id TEXT PRIMARY KEY
|
||||
NOT NULL,
|
||||
account_id TEXT NOT NULL,
|
||||
provider_id TEXT NOT NULL,
|
||||
user_id TEXT NOT NULL,
|
||||
access_token TEXT,
|
||||
refresh_token TEXT,
|
||||
id_token TEXT,
|
||||
access_token_expires_at INTEGER,
|
||||
refresh_token_expires_at INTEGER,
|
||||
scope TEXT,
|
||||
password TEXT,
|
||||
created_at INTEGER NOT NULL,
|
||||
updated_at INTEGER NOT NULL,
|
||||
FOREIGN KEY (
|
||||
user_id
|
||||
)
|
||||
REFERENCES user (id) ON UPDATE NO ACTION
|
||||
ON DELETE CASCADE
|
||||
);
|
||||
|
||||
|
||||
-- 表:points_accounts
|
||||
CREATE TABLE IF NOT EXISTS points_accounts (-- 账户ID,使用自增整数作为主键,效率最高。
|
||||
account_id INTEGER PRIMARY KEY AUTOINCREMENT,-- 关联的用户ID,设置为 TEXT 类型以匹配您的设计。
|
||||
/* 添加 UNIQUE 约束确保一个用户只有一个积分账户。 */user_id TEXT NOT NULL
|
||||
UNIQUE,-- 当前总积分,非负,默认为 0。
|
||||
total_points INTEGER NOT NULL
|
||||
DEFAULT 0
|
||||
CHECK (total_points >= 0),-- 最后更新时间,使用 TEXT 存储 ISO8601 格式的日期时间。
|
||||
/* 在记录更新时,应由应用程序逻辑来更新此字段。 */updated_at TEXT NOT NULL
|
||||
);
|
||||
|
||||
|
||||
-- 表:points_transactions
|
||||
CREATE TABLE IF NOT EXISTS points_transactions (-- 流水ID,使用自增整数主键。
|
||||
transaction_id INTEGER PRIMARY KEY AUTOINCREMENT,-- 关联的用户ID。
|
||||
user_id TEXT NOT NULL,-- 本次变动的积分数,正数代表增加,负数代表减少。
|
||||
points_change INTEGER NOT NULL,-- 变动原因代码,方便程序进行逻辑判断。
|
||||
reason_code TEXT NOT NULL,-- 变动原因的文字描述,可为空。
|
||||
description TEXT,-- 记录创建时间,默认为当前时间戳。
|
||||
created_at TEXT NOT NULL
|
||||
DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
|
||||
-- 表:session
|
||||
CREATE TABLE IF NOT EXISTS session (
|
||||
id TEXT PRIMARY KEY
|
||||
NOT NULL,
|
||||
expires_at INTEGER NOT NULL,
|
||||
token TEXT NOT NULL,
|
||||
created_at INTEGER NOT NULL,
|
||||
updated_at INTEGER NOT NULL,
|
||||
ip_address TEXT,
|
||||
user_agent TEXT,
|
||||
user_id TEXT NOT NULL,
|
||||
FOREIGN KEY (
|
||||
user_id
|
||||
)
|
||||
REFERENCES user (id) ON UPDATE NO ACTION
|
||||
ON DELETE CASCADE
|
||||
);
|
||||
|
||||
|
||||
-- 表:user
|
||||
CREATE TABLE IF NOT EXISTS user (
|
||||
id TEXT PRIMARY KEY
|
||||
NOT NULL,
|
||||
name TEXT NOT NULL,
|
||||
email TEXT NOT NULL,
|
||||
email_verified INTEGER NOT NULL,
|
||||
image TEXT,
|
||||
created_at INTEGER NOT NULL,
|
||||
updated_at INTEGER NOT NULL,
|
||||
username TEXT,
|
||||
display_username TEXT
|
||||
);
|
||||
|
||||
|
||||
-- 表:verification
|
||||
CREATE TABLE IF NOT EXISTS verification (
|
||||
id TEXT PRIMARY KEY
|
||||
NOT NULL,
|
||||
identifier TEXT NOT NULL,
|
||||
value TEXT NOT NULL,
|
||||
expires_at INTEGER NOT NULL,
|
||||
created_at INTEGER,
|
||||
updated_at INTEGER
|
||||
);
|
||||
|
||||
|
||||
-- 索引:idx_points_accounts_user_id
|
||||
CREATE INDEX IF NOT EXISTS idx_points_accounts_user_id ON points_accounts (
|
||||
user_id
|
||||
);
|
||||
|
||||
|
||||
-- 索引:idx_points_transactions_user_id
|
||||
CREATE INDEX IF NOT EXISTS idx_points_transactions_user_id ON points_transactions (
|
||||
user_id
|
||||
);
|
||||
|
||||
|
||||
-- 索引:session_token_unique
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS session_token_unique ON session (
|
||||
token
|
||||
);
|
||||
|
||||
|
||||
-- 索引:user_email_unique
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS user_email_unique ON user (
|
||||
email
|
||||
);
|
||||
|
||||
|
||||
-- 索引:user_username_unique
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS user_username_unique ON user (
|
||||
username
|
||||
);
|
||||
|
||||
|
||||
COMMIT TRANSACTION;
|
||||
PRAGMA foreign_keys = on;
|
||||
Reference in New Issue
Block a user