当我们在代码中设计好表结构后,这些表在数据库中尚不存在。为了将这些设计同步到数据库中,我们可以利用 Drizzle Kit 工具。
配置
为了使用 Drizzle Kit,我们需创建一个配置文件 /drizzle.config.ts
。
通过修改上述配置,您可以指定使用 MySQL 或 PostgreSQL 数据库。配置完成后,编写一个脚本,通过运行它来生成同步数据库所需的 SQL 语句。
迁移
Drizzle Kit 提供两种迁移模式:推送模式和生成模式。开发阶段通常使用推送模式,部署时则采用生成模式。
推送模式
推送模式会直接更新数据库,使其与本地表结构保持一致,但不会删除已删除的表或字段。
若使用 PostgreSQL,请将上述代码中的 mysql
替换为 pg
。
生成模式
生成模式将分析当前表结构与上次运行时的差异,并生成相应的 SQL 文件。
生成模式更为安全,因为它允许您明确了解对数据库的每一次变更,从而避免意外的负面影响。
请根据实际使用的数据库调整上述代码中的 MySQL 相关部分。
运行 Drizzle Kit
完成上述步骤后,您就可以运行 Drizzle Kit 进行测试了。确保至少创建了一张表。
如果您希望简化命令输入,可以在 VS Code 的 Milkio 扩展 菜单栏 中添加该命令。
部署
通常情况下,本地开发使用的数据库与生产环境中的数据库是不同的。因此,在更新服务器代码时,记得运行 bun run ./drizzle.migrate.push.ts
以保持数据库与代码同步。
Drizzle Studio
Drizzle Kit 随附的 Drizzle Studio 提供了一个数据库浏览器,您可以通过简单的命令在本地启动它。
同样地,您也可以在 VS Code 的 Milkio 扩展 菜单栏 中添加该命令以方便访问。