2016-07-16 89 views
0

我需要从Realm Cocoa数据库中删除旧的空模型。用Swift删除Realm模型

似乎有a way to do it in Java,但不是在Swift中。那是对的吗?

如果你删除一个属性,并启动迁移境界取消相应的列在表中:

class Dog: Object { 
    dynamic var name = "" 
    // dynamic var age = 0 
} 

但是,如果删除模型定义完全,迁移确实删除表:

// class Dog: Object { 
// dynamic var name = "" 
// dynamic var age = 0 
// } 

下面是境界浏览器显示空表我想删除一个截图:

realm browser empty tables

回答

0

您可以在您的迁移块中调用Migration.deleteData(_:)来指定应从Realm文件中完全删除指定的类。

+1

谢谢!这很好。另外,如果其他人发现这一点,不要忘记也删除你的模型定义。否则,即使在调用Migration.deleteData(_ :)后,您仍然会得到空表。 –

+1

你能详细说明你的完整代码吗?谢谢! – user3745888

0

对于那些谁是JavaScript的工作:

migration: (oldRealm, newRealm) => { 
    if (oldRealm.schemaVersion < *version*) { 
    newRealm.deleteModel('MODEL-NAME') 
    } 
}