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

Entity Framework migracja bazy

Object Storage Arubacloud
0 głosów
279 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 (344,860 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 137 wizyt
pytanie zadane 24 listopada 2019 w C# przez michal Mądrala (5,560 p.)
0 głosów
1 odpowiedź 338 wizyt
0 głosów
1 odpowiedź 260 wizyt

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...