Cześć,
Mam pytanie z pogranicza teorii i prkatyki związane z migracją bazy danych. W projekcie (ASP.NET Core 2.0) wykorzystuję Entity Framework Core. Cała aplikacja deployowana jest jako kontener dockera. Chciałbym oczywiście móc wygenerowac migracje z poziomu EF Core. Zastanawiam się jakie powinno być prawidłowe podejście do dodawania takich migracji na produkcji. Opcje które przyszły mi do głowy:
- Dajemy po prostu podczas startu aplikacji Database.Migrate() - starszinie słabe, niebezpieczne i ogólnie MS nawet w swojej dokumentacji przed tym ostrzega
- Logujemy się do kontenera aplikacji i wewnątrz tego kontenera odpalamy:
dotnet ef database update
- ogólnie brzmi nieźle ale nie wiem czy to prawdiłowe podejście
- Wygenerować SQL na podstawie migracji i odpalić "z ręki " - chyba najbardziej tradycyjne i poprawne (?) podejście, ale jakoś śrenio mi się widzi przeklejanie i odpalanie skryptów
- Wygenerować SQL i spreparować kontener z bazą danych w taki sposób że skrypty odpalają się automatycznie jak tylko kontener wstanie
Jakieś inne pomysły w tej kwestii ? Ew ktory sposób byście wybrali ?
Pozdrawiam,
W2K