gpt4 book ai didi

mysql - Knex.js:我可以将多个迁移保存在一个迁移表中吗?

转载 作者:行者123 更新时间:2023-11-29 07:19:15 24 4
gpt4 key购买 nike

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

我尝试用谷歌搜索并阅读 knex 文档,但没有成功。我看到一些建议伪造迁移文件来欺骗迁移表,但我认为这不是一个好的解决方案。

我想将所有迁移数据保存在一个迁移表中。在 knex 上可以吗?

最佳答案

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

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

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

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

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

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

关于mysql - Knex.js:我可以将多个迁移保存在一个迁移表中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57174914/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com