Я использую базу данных области для своего приложения. Я хочу добавить в схему 2 поля: адрес электронной почты и пароль. это дало ошибку, ошибка: Миграция требуется из-за следующих ошибок: Свойство Note.email было добавлено Свойство Note.password было добавлено
Я знаю общий формат функции миграции Я не знаю знаю, как мне написать код миграции для добавления поля Я читал документацию на веб-сайте области и аналогичные вопросы и коды, но ни одна тема мне не помогла.
Старая схема:
export const NoteSchema = {
name: 'Note',
primaryKey:'id',
properties: {
id: 'int', // primary key
time_date:'string',
note_title:{ type: 'string', indexed: true },
note_body: { type: 'string', optional: true },
}
};
новая схема:
export const NoteSchema = {
name: 'Note',
primaryKey:'id',
properties: {
id: 'int', // primary key
time_date:'string',
note_title:{ type: 'string', indexed: true },
note_body: { type: 'string', optional: true },
email:{ type: 'string', optional: false },
password:{ type: 'string', optional: false }
}
};
Старая база данных Опции
const databaseOptions = {
path: 'noteListApp.realm',
schema:[NoteSchema],
schemVersion:0,
}
export const inserNewNote = newNote => new Promise((resolve,reject)=> {
Realm.open(databaseOptions).then(realm=>{
realm.write(()=>{
realm.create(NOTE_SCHEMA,newNote,true);
resolve(newNote)
})
}).catch((error)=>reject (error))
})
Новая база данных Опции
const databaseOptions = {
schema:[NoteSchema],
schemVersion:1,
migration: (oldRealm, newRealm) => {
if (oldRealm.schemaVersion < 1) {
const oldObjects = oldRealm.objects('Note');
const newObjects = newRealm.objects('Note');
// loop through all objects and set the name property in the new schema
for (let i = 0; i < oldObjects.length; i++) {
??????????
}
}
}
}