2016-01-22 3 views
0

Я не могу понять Alloy Migrations, в частности,Жизненный цикл сплава Миграции

1) Когда миграция бежать? Обновление приложения или при каждом запуске приложения?

2) Когда выполняется операция mig.down()? Я бы предположил, что Alloy выполняет все up() в хронологическом порядке из любой установленной версии приложения, чтобы довести до текущей версии. Какова роль down()?

ответ

0

Каждый раз, когда приложение открывается заново (так же, как и в случае возобновления), он проверяет наличие еще не выполненных миграций (которые отслеживаются в таблице sqlite).

migration.down() будет запущен, когда пользователь каким-то образом обновится до более старой версии. Этого не может произойти при развертывании App Store, но это может произойти во время тестов и развертываний adhoc/enterprise.

+0

Я проверил код для адаптера синхронизации SQL, и похоже, что мигратор запускается после создания каждой модели на событии afterModelCreate, а не при открытии приложения заново. Я что-то не понимаю? –

+1

Он называется там, потому что вы можете создать и сохранить модель без использования коллекции. Поэтому каждый раз, когда вы создаете модель, мы проверяем, есть ли миграции, но это произойдет только один раз. –

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