我刚刚开始使用 drizzle 并在单独的架构文件中创建了一个简单的表:
import { pgTable, serial, text, varchar } from "drizzle-orm/pg-core";
export const users = pgTable('users', {
id: serial('id').primaryKey(),
email: text('email').unique(),
password: varchar('password_hash', { length: 256 }),
});
export type User = typeof users.$inferSelect
export type NewUser = typeof users.$inferInsert
之后我尝试使用以下命令生成相应的 SQL 文件:
bunx drizzle-kit generate:pg --schema=src/db/schema/users.ts
我确实得到了输出:
0 tables No schema changes, nothing to migrate 😴
这有点奇怪,因为我只是使用了网站的示例代码并调整了属性。我希望 drizzle-kit 能够识别名为“用户”的已定义表。 我在这里错过了什么吗?
问候:)
我还尝试使用如下模式定义重写表定义:
import { pgSchema, serial, text, varchar } from "drizzle-orm/pg-core";
export const mSchema = pgSchema("my_schema")
export const users = mSchema.table('users', {
id: serial('id').primaryKey(),
email: text('email').unique(),
password: varchar('password_hash', { length: 256 })
});
仍然是相同的输出:
0 tables No schema changes, nothing to migrate 😴
我还将添加我的配置文件,以防万一:
{
"driver": "pg",
"schema": ["src/db/schema/users.ts"],
"dbCredentials": {
"connectionString": "postgres://localdev:localdev@localhost:5432/thesecondbrain"
},
"out": "./drizzle",
"verbose": true
}
有同样的问题 - 似乎
drizzle-kit
目前不适用于发髻。如果您将 npm 与 Bun 一起安装,并专门使用 npm 运行生成命令,它就可以正常工作。