From 72267f80676ad964d6184750aac731e694459fc8 Mon Sep 17 00:00:00 2001 From: npmrun <1549469775@qq.com> Date: Fri, 22 May 2026 11:06:43 +0800 Subject: [PATCH] fix(auth): correct nickname migration, add autoincrement, remove redundant index - Add missing auth columns (email_verified, password_history, etc.) to INSERT INTO - Add .autoincrement() to users.id primaryKey for SQLite compatibility - Remove redundant users_email_index (unique index already provides lookup) Co-Authored-By: Claude Opus 4.7 --- packages/drizzle-pkg/lib/schema/auth.ts | 2 +- packages/drizzle-pkg/migrations/0002_add_auth_tables.sql | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/drizzle-pkg/lib/schema/auth.ts b/packages/drizzle-pkg/lib/schema/auth.ts index 053fbb3..85f0622 100644 --- a/packages/drizzle-pkg/lib/schema/auth.ts +++ b/packages/drizzle-pkg/lib/schema/auth.ts @@ -1,7 +1,7 @@ import { index, integer, sqliteTable, text } from "drizzle-orm/sqlite-core"; export const users = sqliteTable("users", { - id: integer().primaryKey(), + id: integer().primaryKey().autoincrement(), username: text().notNull().unique(), email: text(), // unique index added via migration nickname: text(), diff --git a/packages/drizzle-pkg/migrations/0002_add_auth_tables.sql b/packages/drizzle-pkg/migrations/0002_add_auth_tables.sql index 0780c7f..889d183 100644 --- a/packages/drizzle-pkg/migrations/0002_add_auth_tables.sql +++ b/packages/drizzle-pkg/migrations/0002_add_auth_tables.sql @@ -26,17 +26,15 @@ CREATE TABLE `users_new` ( `last_login_ip` text ); --> statement-breakpoint -INSERT INTO `users_new` (`id`, `username`, `email`, `nickname`, `password`, `avatar`, `role`, `status`, `public_slug`, `bio_markdown`, `bio_visibility`, `social_links_json`, `avatar_visibility`, `discover_visible`, `discover_location`, `discover_show_location`, `created_at`, `updated_at`) SELECT `id`, `username`, `email`, `nickname`, `password`, `avatar`, `role`, `status`, `public_slug`, `bio_markdown`, `bio_visibility`, `social_links_json`, `avatar_visibility`, `discover_visible`, `discover_location`, `discover_show_location`, `created_at`, `updated_at` FROM `users`; +INSERT INTO `users_new` (`id`, `username`, `email`, `nickname`, `password`, `avatar`, `role`, `status`, `public_slug`, `bio_markdown`, `bio_visibility`, `social_links_json`, `avatar_visibility`, `discover_visible`, `discover_location`, `discover_show_location`, `created_at`, `updated_at`, `email_verified`, `password_history`, `failed_login_attempts`, `lockout_until`, `last_login_at`, `last_login_ip`) SELECT `id`, `username`, `email`, `nickname`, `password`, `avatar`, `role`, `status`, `public_slug`, `bio_markdown`, `bio_visibility`, `social_links_json`, `avatar_visibility`, `discover_visible`, `discover_location`, `discover_show_location`, `created_at`, `updated_at`, `email_verified`, `password_history`, `failed_login_attempts`, `lockout_until`, `last_login_at`, `last_login_ip` FROM `users`; --> statement-breakpoint DROP TABLE `users`; --> statement-breakpoint ALTER TABLE `users_new` RENAME TO `users`; --> statement-breakpoint CREATE UNIQUE INDEX `users_email_unique` ON `users` (`email`); ---> statement-breakpoint -CREATE INDEX `users_email_index` ON `users` (`email`); --- 2. 创建 user_sessions 表 +-- 2. Create user_sessions table CREATE TABLE `user_sessions` ( `id` text PRIMARY KEY NOT NULL, `user_id` integer NOT NULL,