2015-08-29 3 views
1

прямо сейчас у меня есть две модели данных:Удаление класса и объекты во время миграции

class Habit: Object{ 
    ... 
    ... 

    dynamic var owner: HabitList? 
} 

class HabitList: Object{ 

    dynamic var habits = List<Habit>() 
} 

Я хочу удалить HabitList класс и owner из Habit класса, я не совсем уверен, что я понимаю, как использовать delete и deleteData и что такое MigrationObject. Нужно ли использовать migration.enumerate?

ответ

2

(Отказ от ответственности: Я работаю Realm)

Если вы хотите, чтобы полностью удалить данные внутри HabitList и owner объект, то есть очень мало, что нужно сделать. :)

Во-первых, просто удалите объект owner и определения классов HabitList, чтобы удалить их из вашего проекта. После этого, как из Realm 0,95 (. Что мы выпустили на прошлой неделе я рекомендую модернизации, если вы еще не!), Есть новый способ обработки миграции:

let config = Realm.Configuration(
    //You need to increment the version everytime you change your object schema (starts at 0) 
    schemaVersion: 1, 
    migrationBlock: { migration, oldSchemaVersion in 
     //If you want to preserve any data, you can do it here, otherwise just leave it blank. 
    } 
) 

Realm.Configuration.defaultConfiguration = config 

let realm = Realm() //The database will now be migrated! 

Все, что вам нужно сделать, это создать Realm объект конфигурации, установите новую версию схемы (чтобы Realm знал, что вы изменили схему своих объектов), а затем укажите блок миграции (который вы можете оставить пустым, если вы не хотите хранить какую-либо информацию в свойствах, которые вы 'удалено), а затем передать объект конфигурации в Realm. Затем Realm автоматически обновит ваш файл Realm новой схемой при следующем вызове Realm().

Дополнительную информацию о Realm docs page. Дайте мне знать, если вам нужно больше разъяснений!

+0

Большое спасибо! Теперь это становится полным. – Liumx31

+0

Не беспокойтесь! Рад, что смог помочь! :) – TiM

+0

Извините, что беспокою вас снова, но не могли бы вы взглянуть на эту проблему: http://stackoverflow.com/questions/32419664/realm-not-working-after-migration/32428779#32428779 – Liumx31

Смежные вопросы