我可以使用 Drizzle 工具包创建数据库并运行架构更改,但我不知道如何使用它进行数据迁移。我从 Django 获得了经验,您可以手动创建也支持自定义 Python 代码的迁移文件。在那里你可以运行任何代码/SQL 等来将数据插入到数据库中。它还确保(数据)迁移仅运行一次。
如何使用 Drizzle 实现这一目标?
drizzle-kit generate:pg
仅检查架构更改,因此我无法仅使用它添加数据。
您可能已经解决了这个问题,但您需要运行此脚本
node -r esbuild-register src/db/index.ts
在index.ts文件中,有这样的东西:
import { drizzle, PostgresJsDatabase } from 'drizzle-orm/postgres-js';
import { migrate } from 'drizzle-orm/postgres-js/migrator';
import postgres from 'postgres';
console.log(process.env.DATABASE_URL);
const connectionString = process.env.DATABASE_URL || '';
const migrationsClient = postgres(connectionString, {
max: 1,
});
const db = drizzle(migrationsClient);
migrate(db, { migrationsFolder: 'drizzle' });