环回自动迁移与自动更新
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
当我们有了模型并想将其迁移到数据库时,我们只需在 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