使用 Drizzle Kit 进行迁移
Drizzle Kit 是一个用于管理 Drizzle SQL 数据库迁移的 CLI 工具。
npm
yarn
pnpm
bun
npm i drizzle-kit
重要提示
Drizzle Kit 允许您根据 Drizzle 模式生成和运行 SQL 迁移文件,直接将模式推送到数据库,从数据库拉取模式,启动 Drizzle Studio,并包含一些实用命令。
npm
yarn
pnpm
bun
npx drizzle-kit generate
npx drizzle-kit migrate
npx drizzle-kit push
npx drizzle-kit pull
npx drizzle-kit check
npx drizzle-kit up
npx drizzle-kit studio
drizzle-kit generate | 允许您根据 Drizzle 模式在声明时或后续更改时生成 SQL 迁移文件,请参见此处。 |
drizzle-kit migrate | 允许您将生成的 SQL 迁移文件应用到数据库,请参见此处。 |
drizzle-kit pull | 允许您拉取(内省)数据库模式,将其转换为 Drizzle 模式并保存到代码库中,请参见此处 |
drizzle-kit push | 允许您在声明时或后续模式更改时将 Drizzle 模式推送到数据库,请参见此处 |
drizzle-kit studio | 将连接到您的数据库并启动 Drizzle Studio 的代理服务器,您可以使用它方便地浏览数据库,请参见此处 |
drizzle-kit check | 将遍历所有生成的迁移并检查是否存在任何竞争条件(冲突),请参见此处 |
drizzle-kit up | 用于升级以前生成的迁移快照,请参见此处 |
Drizzle Kit 通过 drizzle.config.ts 配置文件或 CLI 参数进行配置。
Drizzle Kit 至少需要提供 SQL dialect
和 schema
路径才能生成迁移。
📦 <project root>
├ 📂 drizzle
├ 📂 src
├ 📜 .env
├ 📜 drizzle.config.ts <--- Drizzle config file
├ 📜 package.json
└ 📜 tsconfig.json
简单配置
扩展配置
import { defineConfig } from "drizzle-kit";
export default defineConfig({
dialect: "postgresql",
schema: "./src/schema.ts",
});
您可以通过 CLI 参数提供 Drizzle Kit 配置路径,这在您有多个数据库阶段、多个数据库或同一项目上使用不同数据库时非常有用。
npm
yarn
pnpm
bun
npx drizzle-kit push --config=drizzle-dev.drizzle.config
npx drizzle-kit push --config=drizzle-prod.drizzle.config
📦 <project root>
├ 📂 drizzle
├ 📂 src
├ 📜 .env
├ 📜 drizzle-dev.config.ts
├ 📜 drizzle-prod.config.ts
├ 📜 package.json
└ 📜 tsconfig.json