环回自动迁移与自动更新

loopback automigrate vs autoupdate

当我们有了模型并想将其迁移到数据库时,我们只需在 server/boot 中创建脚本,其中:

server.dataSource['myDbSource'].automigrate('MyMode', function(err){...})

server.dataSource['myDbSource'].autoupdate('MyMode', function(err){...})

第一个在每个服​​务器上重新启动,在数据库中重新创建模式并清除数据,第二个可以创建模式或更改它(如果存在),但不能清除数据。当我们使用 automigrate 创建 schema 时,我们应该删除它(否则每次我们的数据都会丢失),但是当我们使用 autoupdate 时,它​​可以保留在代码中(我们可以修改模型,schema 将被更新)。

看来自动更新更有用。什么时候我们必须使用automigrate呢? autoupdate 是否有利于 automigrate 的缺点?

我喜欢只使用自动迁移但设置 env 标志以仅在我决定时更新模式的工作流。你怎么看?

它们都有各自的特定用途。如果您不关心您的数据,请自动迁移(即删除 table 并重新创建它)。如果您不想意外删除现有数据,请自动更新。参见 auto-migrate documentation