Откат миграций в бд
От: #John Европа https://github.com/ichensky
Дата: 10.01.19 08:29
Оценка:
Здравствуйте,
Вам когда-нибудь приходилось откатывать миграции в бд?
В Entity Framework есть два метода Up() Down(), первый должен реализовать метод который будет накатывать миграцию, а второй откатывать ее обратно.
Но если так подумать метод Down вообще никогда не должен вызываться и вот почему:
1. На прод бд накатываем миграции(создаем новые индексы, меняем типы у колонок). Через некоторое время в бд добавляются пользовательские данные. И метод Down() просто уже не сможет правильно откатить изменения, т.к. будут потеряны пользовательские данные.
+ после отката Down() схема бд, может быть полностью не совместима с кодом.
Т.е. лучший выход из ситуации: делать новую миграцию которая будет сразу откатывать изменения всех предыдущих неправильных миграций.
2. Допустим мы никогда не добавляем данные в бд, а просто накатываем миграции. И захотели откатится на 40 миграций назад.
В этом случае рациональнее будет просто пересоздать схему бд с нуля. чем поддерживать тестировать код по откату миграций.

т.е. получается в EF добавили метод Down просто для красоты
Підтримати Україну у боротьбі з країною-терористом.

https://prytulafoundation.org/
https://u24.gov.ua/

Слава Збройним Силам України!!! Героям слава!!!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.