- 新增 users 用户表,支持邮箱注册和登录 - 新增 verification_codes 验证码表,支持多种验证场景 - 为 user_settings 表添加 userId 关联字段 - 为 conversations 表添加 userId 关联字段 - 定义表关系实现用户数据隔离 - 更新数据库迁移文件
30 lines
1.2 KiB
SQL
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"); |