• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Entity Framework migracja bazy

VPS Starter Arubacloud
0 głosów
294 wizyt
pytanie zadane 7 marca 2019 w C# przez Marcin Rasta Pawłows Użytkownik (600 p.)
Witam

Proszę o pomoc. Tworzę aplikację desktopową opartą na bazie SQL przy pomocy Entity Framework. Nadszedł czas w kolejnej wersji na wprowadzenie zmiany w bazie (dodanie tabeli). Nie ma problemu z przeprowadzeniem migracji lokalnie na bazie na której pracuje. problem polega na tym że po wykonaniu migracji należy jeszcze podnieść bazę danych poleceniem update-database w konsoli Nugett. i tu się pojawia problem jak to zrobić z poziomu kodu. Nie mam możliwości połączyć się do każdego klienta który korzysta z programu odpalić VS + nugget i wprowadzić to polecenie do konsoli  program musi to sam podnieść bazę po aktualizacji programu

3 odpowiedzi

0 głosów
odpowiedź 7 marca 2019 przez adrian17 Ekspert (349,240 p.)

Z tego co rozumiem, z odpowiednią konfiguracją aplikacja będzie sama się migrowała podczas inicjailzacji.

https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/getting-started-with-ef-using-mvc/migrations-and-deployment-with-the-entity-framework-in-an-asp-net-mvc-application

To deploy the database, you'll use Code First Migrations. When you create the publish profile that you use to configure settings for deploying from Visual Studio, you'll select a check box labeled Update Database. This setting causes the deployment process to automatically configure the application Web.config file on the destination server so that Code First uses the MigrateDatabaseToLatestVersion initializer class.

0 głosów
odpowiedź 7 marca 2019 przez Crash182 Gaduła (3,600 p.)
EF samo powinno wykryć różnicę i odpalić potrzebne skrypty żeby baza danych znów była zsynchronizowana

Pozdrawiam
komentarz 8 marca 2019 przez Marcin Rasta Pawłows Użytkownik (600 p.)

No właśnie problem polega na tym że wyrzuca błąd taki jak w załączniku 

 

 

Problem się rozwiązuje jak podniosę bazę poleceniem konsoli nugget update-database ale niestety u klienta tego nie mogę zrobić. idelanym rozwiazaniem byłoby jakbym mół albo uruchomić to polecenie pod odpaleniu programu jak progrma sprawdzi wersję bazy  albo ogóle z automatu  jeżeli progrma zauważy że jest zła struktura bazy 

0 głosów
odpowiedź 8 marca 2019 przez Marcin Rasta Pawłows Użytkownik (600 p.)

Ok  już znalazłem rozwiązanie 

http://www.entityframeworktutorial.net/code-first/automated-migration-in-code-first.aspx

Gdyby ktoś kiedyś miał taki problem tu jest instrukcja jak uruchomić automatyczną migrację wtedy tak jak wspominał  Crash182 EF sam sobie podnosi bazę :D

Podobne pytania

0 głosów
0 odpowiedzi 149 wizyt
pytanie zadane 24 listopada 2019 w C# przez michal Mądrala (5,560 p.)
0 głosów
1 odpowiedź 366 wizyt
0 głosów
1 odpowiedź 271 wizyt

92,958 zapytań

141,916 odpowiedzi

321,148 komentarzy

62,288 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...