Безопасно ли удалять файл миграции .cs после Remove-Migration и Update-Database? - PullRequest
0 голосов
/ 26 мая 2020

Чтобы узнать, как использовать миграции в. NET Core, я создал фиктивный класс, выполнил Add-Migration / Update-Database. Затем я изменил фиктивный класс и сделал еще один Add-Migration / Update-Database. Я дважды поддерживал их, используя Remove-Migration / Update-Database. Все в порядке, и мне удобнее, как все это работает.

Теперь у меня осталось 2 фиктивных файла миграции и соответствующие файлы дизайнера, а также фиктивный класс. Могу ли я безопасно удалить все это? Есть ли какой-нибудь протокол для их полного удаления? Я проверил, и их записи в таблице _efmigrationhistory исчезли. Кроме того, мне, вероятно, придется удалить ссылку на класс в файле контекста. От чего еще мне нужно избавиться?

Ответы [ 3 ]

1 голос
/ 26 мая 2020

Если все сделано правильно, команда dotnet ef migration remove должна сама удалить файлы. Если каким-то образом эти файлы не были удалены, можно безопасно удалить их самостоятельно.

1 голос
/ 26 мая 2020

Цель миграции - постепенно обновлять базу данных, чтобы она соответствовала вашим новым моделям данных, при этом сохраняя существующее содержимое базы данных.

Вы даже можете назвать это формой контроля версий для баз данных. Например, если вы сделали неправильную миграцию, вы можете вернуться к последней миграции, с которой вам удобно.

CLI > dotnet ef database update MigrationToReturnTo
PMC > Update-Database -Migration MigrationToReturnTo

Следовательно, хотя вы можете безопасно удалить старые файлы миграции, вы потенциально теряете возможность вернуться к предыдущей схеме для вашей базы данных.

Обратите внимание, что Entity Framework Core печально известен своими беспорядочными миграциями. Я лично не рекомендую удалять миграции, если вы не уверены, что хотите выполнить полный сброс базы данных.

Если вы столкнетесь с проблемами, связанными с невозможностью обновления базы данных из-за уже существующих записей, лучшим вариантом будет полностью удалите папку Migrations и таблицу __EFMigrationsHistory и создайте новую начальную миграцию.

0 голосов
/ 26 мая 2020

Насколько мне известно, удалить эти файлы безопасно. Если вы удалите файлы миграции, все будет в порядке.

...