gpt4 book ai didi

node.js - typeorm 在生产中同步

转载 作者:行者123 更新时间:2023-12-04 11:23:15 26 4
gpt4 key购买 nike

在 Typeorm 中有一个名为 synchronize 的功能.您可以将实体与数据库同步,因此无需迁移。但如你所知 synchronize对生产是危险的。
这是问题,我应该什么时候使用 synchronize特征?想象一下最初(在开发环境中)我开始使用 synchronize特征。如果我在没有迁移的情况下在生产中禁用它,我的生产数据库将如何创建?
此外,我将在一些里程碑上交付该项目。我应该在第一个里程碑还是最后禁用它?对于长时间的维护,我应该使用synchronize吗?在第一个生产版本后禁用并使用迁移?
任何想法将不胜感激。

最佳答案

TypeORM 中的迁移
尽管同步是将实体与数据库同步的好选择,但它对于生产数据库是不安全的。因此,迁移可以成为在生产数据库中进行更安全迁移的替代解决方案。
进行迁移时,您应该遵循以下步骤。
1.更新Typeorm配置文件和package.json文件
您应该将 Typeorm 配置文件中的同步属性更改为 false 作为防止架构同步的第一步。
然后在 package.json 文件下的 scripts 属性中添加以下命令。

“typeorm”: “ts-node ./node_modules/typeorm/cli -f ./ormconfig.json”


2.生成迁移

npm run typeorm migration:generate -n


您可以在此处为您的迁移命名。运行该命令后,您将在 migrations 下找到一个名为 的迁移文件。
在迁移文件中,有两个函数,即 up 和 down,up 函数负责运行迁移,down 函数负责恢复迁移。
3. 运行迁移

npm run typeorm migration:run


此命令将运行您已在上述命令中创建的迁移。当您运行此命令时,它将执行迁移文件中的 up 函数。
4. 恢复迁移

npm run typeorm migration:revert


此命令将恢复您已在上述命令中执行的迁移。当您运行此命令时,它将恢复您已经完成的所有迁移。基本上,它将运行迁移文件的 down 命令。

关于node.js - typeorm 在生产中同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65222981/

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