drizzle-kit check

本指南假定您已熟悉:

drizzle-kit check 命令可以让你检查已生成的 SQL migrations 历史是否一致。

当有多个开发者在项目中协作,并且在不同分支上修改数据库 schema 时,这个功能非常有用 - 更多内容请阅读 团队 migrations




drizzle-kit check 命令要求你指定 dialect, 你可以通过 drizzle.config.ts 配置文件或 CLI 选项来提供它

使用配置文件
作为 CLI 选项
// drizzle.config.ts
import { defineConfig } from "drizzle-kit";

export default defineConfig({
  dialect: "sqlite",
});
npx drizzle-kit check

一个项目中的多个配置文件

你可以在项目中使用多个配置文件,当你有多个数据库阶段或同一个项目中有多个数据库时,这非常有用:

npm
yarn
pnpm
bun
npx drizzle-kit check --config=drizzle-dev.config.ts
npx drizzle-kit check --config=drizzle-prod.config.ts
📦 <项目根目录>
 ├ 📂 drizzle
 ├ 📂 src
 ├ 📜 .env
 ├ 📜 drizzle-dev.config.ts
 ├ 📜 drizzle-prod.config.ts
 ├ 📜 package.json
 └ 📜 tsconfig.json

忽略冲突

如果你需要 check 命令跳过交换律检查并绕过它,可以使用 --ignore-conflicts。如果你会用到它,那么 很有可能是 drizzle-kit 没有正确检查 migrations,这是一个 bug。请把你的情况报告给我们,这样我们可以修复它

drizzle-kit check --ignore-conflicts

扩展配置列表

我们建议通过 drizzle.config.ts 文件来配置 drizzle-kit, 但如果有必要,例如在 CI/CD 流水线等场景中,你也可以通过 CLI 提供所有配置选项。

dialectrequired你正在使用的数据库方言。可以是 postgresql mysql sqlite turso singlestore mssql cockroach 中的一种
outmigrations 文件夹,默认值=./drizzle
config配置文件路径,默认值=drizzle.config.ts

npm
yarn
pnpm
bun
npx drizzle-kit check --dialect=sqlite
npx drizzle-kit check --dialect=sqlite --out=./migrations-folder