命令列表

生成迁移

drizzle-kit generate 允许你根据你的 Drizzle 架构生成迁移。

参数必填描述
dialect你正在使用的数据库方言。可以是 postgresqlmysqlsqlite
schemaTypeScript 架构文件或包含多个架构文件的文件夹的路径
out迁移文件夹,默认=./drizzle
config配置文件路径,默认=drizzle.config.ts
custom为自定义迁移生成空的 SQL
name生成具有自定义名称的迁移
breakpointsSQL 语句断点,默认=true
$ drizzle-kit generate
// drizzle.config.ts
import { defineConfig } from "drizzle-kit";

export default defineConfig({
  dialect: "postgresql", // "mysql" | "sqlite"
  schema: "./src/schema.ts",
  out: "./drizzle",
});

如果你想为迁移使用自定义名称

$ drizzle-kit generate --name init_db

如果你想使用自定义命名的配置文件

$ drizzle-kit generate --config=custom.config.ts

如果你想将所有参数作为 CLI 选项

$ drizzle-kit generate --schema=./src/schema.ts --out=./drizzle

为自定义迁移生成一个空的 SQL 迁移文件。

$ drizzle-kit generate --custom

应用迁移

drizzle-kit migrate 允许你应用存储在迁移文件夹中的迁移,并输出由 drizzle-kit generate 生成的迁移。

参数必填描述
config配置文件路径,默认=drizzle.config.ts
$ drizzle-kit migrate
// drizzle.config.ts
import { defineConfig } from "drizzle-kit";

export default defineConfig({
  dialect: "postgresql", // "mysql" | "sqlite"
  out: "./drizzle",
  migrations: {
    table: 'migrations_custom', // 默认为 `__drizzle_migrations`,
    schema: 'public', // 仅在 PostgreSQL 中使用,默认为 `drizzle`
  }
});

如果你想使用自定义命名的配置文件

$ drizzle-kit migrate --config=custom.config.ts

内省 / 拉取

drizzle-kit introspect 命令允许你从现有数据库中提取DDL并在几秒钟内生成 schema.ts 文件。

urluser:password@host:port/db 参数是必需的。

参数必填描述
dialect你正在使用的数据库方言。可以是 postgresqlmysqlsqlite
driver用于查询的驱动程序(aws-data-apid1-httptursoexpo
out迁移文件夹,默认=./drizzle
url数据库连接字符串
user数据库用户
password数据库密码
host主机名
port端口号
database数据库名称
config配置文件路径,默认=drizzle.config.ts
introspect-casingJS 键在列、表等中的创建策略 (preservecamel)
schemaFilter架构名称筛选器。默认: ["public"]
extensionsFilters数据库扩展内部数据库过滤器
$ drizzle-kit introspect
示例 1
示例 2
import { defineConfig } from "drizzle-kit";

export default defineConfig({
  schema: "./src/schema/*",
  out: "./drizzle",
  dialect: 'postgresql',
  dbCredentials: {
    url: "postgresql://postgres:password@host:port/db",
  }
});
import { defineConfig } from "drizzle-kit";

export default defineConfig({
  schema: "./src/schema/*",
  out: "./drizzle",
  dialect: 'postgresql',
  dbCredentials: {
    user: "postgres",
    password: "password",
    host: "127.0.0.1",
    port: 5432,
    database: "db",
  }
});

如果你想使用自定义命名的配置文件

$ drizzle-kit introspect --config=custom.config.ts

如果你想将所有参数作为 CLI 选项

$ drizzle-kit introspect --out=migrations/ --connectionString=postgresql://user:pass@host:port/db_name
$ drizzle-kit introspect --out=migrations/ --host=0.0.0.0 --port=5432 --user=postgres --password=pass --database=db_name --ssl

原型 / 推送

drizzle-kit push 允许你直接将架构更改推送到数据库,并省略管理 SQL 迁移文件。

这对于快速本地开发(原型设计)和使用远程数据库(如 PlanetscaleNeonTurso 等)非常有用。

💡

有关 Turso 和 drizzle-kit push 的详细文章 — 点击阅读

urluser:password@host:port/db 参数是 必需 的。

参数必填描述
dialect你正在使用的数据库方言。可以是 postgresqlmysqlsqlite
schemaTypeScript 架构文件或包含多个架构文件的文件夹的路径
driver用于查询的驱动程序(aws-data-apid1-httptursoexpo
tablesFilter表名筛选器
schemaFilter架构名称筛选器。默认: ["public"]
extensionsFilters数据库扩展内部数据库过滤器
url数据库连接字符串
user数据库用户
password数据库密码
host主机名
port端口号
database数据库名称
config配置文件路径,默认=drizzle.config.ts
verbose打印将要执行的所有查询
strict在推送架构之前始终要求确认
force自动接受所有数据丢失声明
$ drizzle-kit push

如果你想使用自定义命名的配置文件

$ drizzle-kit push --config=custom.config.ts

如果你想将所有参数作为 CLI 选项

$ drizzle-kit push --schema=src/schema.ts --url=postgresql://user:pass@host:port/db_name
$ drizzle-kit push --schema=src/schema.ts --host=0.0.0.0 --port=5432 --user=postgres --password=pass --database=db_name --ssl

删除迁移

drizzle-kit drop 允许你从迁移文件夹中删除先前生成的迁移

⚠️

请不要手动删除迁移文件夹中的任何文件,这可能会破坏 drizzle-kit

参数必填描述
out迁移文件夹,默认=./drizzle
config配置文件路径,默认=drizzle.config.ts
$ drizzle-kit drop

如果你想使用自定义命名的配置文件

$ drizzle-kit drop --config=custom.config.ts

如果你想将所有参数作为 CLI 选项

$ drizzle-kit drop --out=drizzle

维护过时的元数据

我们的 Drizzle Kit API 在快速发展,有时需要升级底层元数据结构。 drizzle-kit up 是一个实用程序命令,用于使所有元数据保持最新。

参数必填描述
dialect你正在使用的数据库方言。可以是 postgresqlmysqlsqlite
out迁移文件夹,默认=./drizzle
config配置文件路径,默认=drizzle.config.ts
$ drizzle-kit up

如果你想使用自定义命名的配置文件

$ drizzle-kit up --config=custom.config.ts

如果你想将所有参数作为 CLI 选项

$ drizzle-kit up --out=drizzle

检查

drizzle-kit check 是一个非常强大的工具,用于检查迁移的一致性。 当你的项目中有多个人在不同的分支上修改数据库架构时,这非常有用。 Drizzle Kit 将检查所有冲突和不一致之处。

参数必填描述
dialect你正在使用的数据库方言。可以是 postgresqlmysqlsqlite
out迁移文件夹,默认=./drizzle
config配置文件路径,默认=drizzle.config.ts
$ drizzle-kit check

如果你想使用自定义命名的配置文件

$ drizzle-kit check --config=custom.config.ts

如果你想将所有参数作为 CLI 选项

$ drizzle-kit check --out=drizzle

Drizzle Studio

drizzle-kit studio 可以从配置文件启动本地 Drizzle Studio 数据库浏览器。

参数必填描述
port自定义端口
host自定义 Studio 服务器主机
verbose记录所有 SQL 语句
drizzle-kit studio

drizzle-kit studio --port 3000 --host 0.0.0.0 --verbose
🖥 Drizzle Studio 演示 🖥 打开 Drizzle Studio
Become a Gold Sponsor