【问题标题】:Table Migrations File表迁移文件
【发布时间】:2021-06-08 07:24:09
【问题描述】:

我目前正在学习nestjs。当我遇到 typeorm 并且它是生成迁移的脚本时,它会在一个文件中创建每个表。现在在我的工作场所,我们在这里使用 expressjs,他们为每个表创建迁移文件。该结构或多或少如下所示:

|- src
  |- migrations
    |- 20211003174831-user.js
    |- 20211003175002-product.js
    |- 20211003175307-invoice.js
    |- 20211003175601-invoice-product.js

虽然我更喜欢 nestjs 方法,但我想知道哪种方法是创建迁移文件的最佳方法。如果更好的方法是上面的示例,那么优点和缺点是什么。任何帮助将不胜感激,谢谢。

编辑:长话短说,哪一个更适合表迁移方法,每个表一个文件或每个表多个文件,如上面的示例。

【问题讨论】:

  • 打字或续集?
  • @WangLiang 两者,我的意思是在一般后端开发中,它是创建迁移文件的更好方法。我的问题是哪个更好,一个文件用于所有表或多个文件用于每个表。

标签: node.js express sequelize.js nestjs typeorm


【解决方案1】:

创建迁移文件的最佳方法取决于您的偏好。

但是,避免错误和浪费时间的一个好做法是通过使用typeorm migration:generate 生成迁移文件来创建实体,就像您在上面所做的那样,但是阅读起来可能很复杂。

使用typeorm migration:createTypeORM migration API 手动创建迁移也是一种好习惯,但它需要很长时间并且可能是错误的来源,尤其是在列类型方面。

当您需要更改表或列时,生成迁移也很有用,您无需自行搜索修改。

最后,永远不要在生产环境中使用synchronize

【讨论】:

  • 哦,您分享的链接指的是 typeorm 迁移功能,它类似于 sequelize(幸运的发现)。当你说它容易受到错误影响时,我明白你的意思。我同意你的看法,生产中没有同步。
  • 是的,TypeORM 或 Sequelize 的概念是相同的。大量阅读文档以了解所有概念。选择最适合你的方案,我个人使用generate函数!
猜你喜欢
  • 1970-01-01
  • 2012-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-18
  • 1970-01-01
相关资源
最近更新 更多