[在LoopBack 4中迁移数据库后设置新字段的值
Loopback具有处理数据库迁移的简便方法,这与使用knex.js的方法不同。在docs about migration中说,要更改表模式,您只需要编辑模型,环回将自动更新(在自动更新的情况下)或重新创建(在自动迁移的情况下)。
但是这是一种情况:假设我有一个正在生产的项目。在数据库中,我有带有字段的表users
:
first_name: string
last_name: string
然后我要将模式更改为
full_name: string
如果要进行环回以获得该模式,我只需要编辑模型。但是,如何为现有用户设置full_name
? method that described in docs让我感到困惑,这就是原因:
如果我创建字段更新脚本(也删除了先前的脚本以避免错误)并在模型中进行每次更改后运行迁移,则可以正常工作。
但是如果在部署到生产环境之前必须在本地环境中进行几次迁移(还要设置新值的脚本?)>
感谢您的帮助。
Loopback具有处理数据库迁移的简便方法,这与使用knex.js的方法不同。在有关迁移的文档中,它说要更改表模式,您只需要...
回答如下:LoopBack提供的自动更新/重新创建功能将始终仅限于简单的用例,例如添加新列。一旦您需要迁移更高级的架构更改,例如重命名列,您将始终必须编写自定义迁移步骤-这就是Knex从我所知道的地方发光的地方。