Knex.js:我能否将多个迁移保存在一个迁移中 table?

Knex.js: Can I have multiple migrations to save in only one migration table?

我有一个被多个项目使用的数据库。每个项目都有它的数据库迁移。

我已经尝试 google 并阅读了 knex 文档,但没有成功。我看到一些伪造迁移文件以欺骗迁移的建议table,但我认为这不是一个好的解决方案。

我想在一次迁移中保留所有迁移数据table。可以在 knex 上使用吗?

为每个项目设置不同的迁移文件集并尝试针对同一迁移 table 分别 运行 它们是不可能的。没有好的解决方案,无论如何都没有意义。

如果迁移彼此不相关,则没有理由将它们放在同一个 table 中。另一方面,如果它们是相关的,那么文件确实应该托管在同一个地方以保证一切都按正确的顺序完成。

您可以为 knex 配置中的每个项目设置不同的迁移 table 名称 tableName (http://knexjs.org/#Migrations-API)。

但是,我绝不会建议让多个项目使用同一个数据库,并且每个项目都对其进行单独的迁移。

唯一可以远程接受的原因table 是您无权为每个项目创建单独的数据库的情况。

如果项目共享相同的数据模型(具有共享数据库的微服务),在这种情况下,您仍应使用多个数据库或拥有单一服务,该服务是模式更改的所有者,其余服务应只有 read/write 个数据。