claude-code-cchui/src/drizzle/migrations/0004_lowly_red_shift.sql
gaoziman 629ff540fc feat(数据库): 添加用户认证相关数据表
- 新增 users 用户表,支持邮箱注册和登录
- 新增 verification_codes 验证码表,支持多种验证场景
- 为 user_settings 表添加 userId 关联字段
- 为 conversations 表添加 userId 关联字段
- 定义表关系实现用户数据隔离
- 更新数据库迁移文件
2025-12-19 22:35:54 +08:00

30 lines
1.2 KiB
SQL

CREATE TABLE "users" (
"id" serial PRIMARY KEY NOT NULL,
"user_id" varchar(64) NOT NULL,
"email" varchar(255) NOT NULL,
"password" varchar(255) NOT NULL,
"nickname" varchar(64) NOT NULL,
"avatar" varchar(512),
"plan" varchar(20) DEFAULT 'free',
"status" varchar(20) DEFAULT 'active',
"email_verified" boolean DEFAULT false,
"last_login_at" timestamp with time zone,
"created_at" timestamp with time zone DEFAULT now(),
"updated_at" timestamp with time zone DEFAULT now(),
CONSTRAINT "users_user_id_unique" UNIQUE("user_id"),
CONSTRAINT "users_email_unique" UNIQUE("email")
);
--> statement-breakpoint
CREATE TABLE "verification_codes" (
"id" serial PRIMARY KEY NOT NULL,
"email" varchar(255) NOT NULL,
"code" varchar(6) NOT NULL,
"type" varchar(20) NOT NULL,
"expires_at" timestamp with time zone NOT NULL,
"used" boolean DEFAULT false,
"created_at" timestamp with time zone DEFAULT now()
);
--> statement-breakpoint
ALTER TABLE "conversations" ADD COLUMN "user_id" varchar(64);--> statement-breakpoint
ALTER TABLE "user_settings" ADD COLUMN "user_id" varchar(64);--> statement-breakpoint
ALTER TABLE "user_settings" ADD CONSTRAINT "user_settings_user_id_unique" UNIQUE("user_id");