Cześć,
Aplikacja napisana w ASP.NET Core z wykorzystaniem EF już działa i w bazie danych są zapisy. Aplikacja jest rozwijana (dodawane nowe featury, korekta już istniejących rozwiązać etc.).
Chciałem się zapytać jak rozwiązuje się aktualizację takiej aplikacji, która już działa i ma podpiętą bazę danych?
Głównie zastanawiam się nad sposobem aktualizacji bazy danych (nowa aplikacja ma więcej kolumn/tabel).
Z góry dziękuję za odpowiedzi.
np. mechanizm migracji
WeiXiao napisał(a):
np. mechanizm migracji
No ok. A mogę prosić o troszkę więcej szczegółów? Jak mam aplikację na swoim komputerze to mogę robić migracje. Ale jak aplikacja jest na jakimś zewnętrznym serwerze to muszę ją stamtąd skasować i wgrać nową wersję aplikacji. A jak zrobić migrację?
Migrację najczęściej wykonuje się skryptem, który wprowadza wymagane zmiany w bazie danych.
Zakładając, że masz wyłącznie jedną instancję aplikacji którą możesz wyłączyć na czas wdrożenia to robi się to mniej więcej tak:
- wyłączasz aplikację
- deploy aplikacji
- deploy bazy/migracja
- uruchomienie aplikacji
Update-Database dla migracji może wygenerować kod SQL dla zmian w db. Odpalasz ten kod SQL razem z noweą wersją aplikacji (w tym samym czasie) i już.
jacek.placek napisał(a):
Update-Database dla migracji może wygenerować kod SQL dla zmian w db. Odpalasz ten kod SQL razem z noweą wersją aplikacji (w tym samym czasie) i już.
Dzięki. A mógłbyś jeszcze pokrótce napisać jak to zrobić lub pod jakim hasłem szukać info w internecie aby to zrobić?
Z góry dziękuję.
Używasz Entity Framework? Wtedy właśnie szukaj pod hasłem "migracje", np. https://docs.microsoft.com/en-us/ef/core/managing-schemas/migrations/?tabs=dotnet-core-cli
Samo generowanie kodu sql, jak już masz migracje, to:
update-database -script