0

我有一个带有预填充数据库的应用程序。我刚刚尝试了第一次迁移,效果很好。

我的问题是

如果更改仅在模型中而不是数据库中,我是否需要重建预填充的数据库(更改是在预填充的数据库中使用“空”的动态属性)?

迁移会对预先填充的数据库生效吗?

它现在没有崩溃,但我想知道没有我应该注意的副作用。

4

1 回答 1

1

您只是在进行轻量级迁移,这就是它正常工作的原因。

我猜您的模型中的变化并不太严重,因此轻量级迁移非常适应。

这意味着现在您的项目中既有旧模型又有新模型(如果您扩展模型)。如果不是,这不应该工作。只需确保您的项目中仍保留旧的原始模型,否则迁移将不知道如何进行。

主要的副作用是,随着模型的发展,您可能不再能够进行轻量级迁移,但我建议您跨过那座桥,如果您能做到的话。

另一个副作用是迁移比直接使用持久对象协调器稍慢(以毫秒为单位)。还有远程失败的可能性(但我只能看到这种情况发生在您无法写入磁盘的情况下,因为迁移使您的数据库更大,然后由于磁盘空间不足而无法保存,但是什么时候会这样发生:P)

就我个人而言,如果在发货前尽快重建我的数据库,作为最后一件事,我会重建我的数据库,但如果我在最后期限内,我不会这样做,因为避免这种类型的迁移的好处并不是那么大。

于 2012-11-08T07:54:19.517 回答