移除 Realm 中的列
Remove column in Realm
我正在查看迁移文档,但是,我不确定是我忽略了还是没有说明,但是我注意到文档只说明了如何添加列,如果我想删除列怎么办?
在 Realm Swift 文档的 Migrations 部分,它实际上向您展示了如何删除两列(firstName
和 lastName
),并将它们替换为一个新的 属性(即 fullName
)。
要从 Realm 文件中删除列,您需要做的就是从模型对象中删除这些属性,然后 运行 进行迁移。
如果您希望保留这些列中的信息,您可以选择将该信息移动到迁移闭包内的新 属性(如文档所示)。这完全是可选的,如果您 运行 使用空闭包进行迁移,那么列和数据将被删除。
答案不正确,因为这些基本迁移和架构更新不会自动发生,即。如果您只删除 属性,然后重新 运行 您的应用程序,您将遇到崩溃。
答案是您必须增加 Realm.Configuration
中 schemaVersion
的值,以触发其余答案和领域文档中描述的基本内置架构更新。
实际上,是正确的。当我删除一列并且没有更改 schemaVersion
值时,我得到了 nil Realm 实例。
调试那段代码显示 Realm return 是一个错误,指出您必须更改 schemaVersion
值以便 Realm 更新数据库架构。否则,如我们所见,Realm 将不会 return Realm object instance to you but nil.
Realm 版本是 10.7.2
我正在查看迁移文档,但是,我不确定是我忽略了还是没有说明,但是我注意到文档只说明了如何添加列,如果我想删除列怎么办?
在 Realm Swift 文档的 Migrations 部分,它实际上向您展示了如何删除两列(firstName
和 lastName
),并将它们替换为一个新的 属性(即 fullName
)。
要从 Realm 文件中删除列,您需要做的就是从模型对象中删除这些属性,然后 运行 进行迁移。
如果您希望保留这些列中的信息,您可以选择将该信息移动到迁移闭包内的新 属性(如文档所示)。这完全是可选的,如果您 运行 使用空闭包进行迁移,那么列和数据将被删除。
答案不正确,因为这些基本迁移和架构更新不会自动发生,即。如果您只删除 属性,然后重新 运行 您的应用程序,您将遇到崩溃。
答案是您必须增加 Realm.Configuration
中 schemaVersion
的值,以触发其余答案和领域文档中描述的基本内置架构更新。
实际上,schemaVersion
值时,我得到了 nil Realm 实例。
调试那段代码显示 Realm return 是一个错误,指出您必须更改 schemaVersion
值以便 Realm 更新数据库架构。否则,如我们所见,Realm 将不会 return Realm object instance to you but nil.
Realm 版本是 10.7.2