Migracje w bazie danych Entity Framework ASP.NET MVC
Migracja - automatyczna aktualizacja struktury bazy danych.
Migracje to aktualizacje struktury bazy danych wywoływane po wprowadzeniu zmian w klasach z modelem. Migracje dzielą się na 2 typy:
stratne i
bezstratne. Migracje bezstratne to takie, w których nie zostają usunięte żadne dane z bazy danych, migracja taka występuje np. podczas dodania nowej klasy z modelem a więc dodatkowej tabeli w bazie danych. Migracje stratne to takie, w których nie ma możliwości aktualizacji bazy danych w taki sposób, aby zachować wcześniejsze dane. Np. zmiana pola typu int na pole tekstowe lub zmiana powiązań pomiędzy tabelami. W
Entity Frameworku dostępne jest wbudowane narzędzie automatycznie generujące skrypt do aktualizacji.
Instalacja migracji:
Aby zainstalować migracje należy w pierwszej kolejności mieć zainstalowany Entity Framework a następne uruchomić komendę
Enable-Migrations w oknie
Package Manager Console.
Aby dodać nową migracje służy komenda:
Add-Migration
Do uruchomienia migracji służy komenda:
Update-Database
Aby zobaczyć zapytania, które są wykonywane w czasie aktualizacji bazy danych należy użyć komendy:
Update-Database –Verbose
Migracje znajdują sie w folderze
Migrations, istnieje możliwość manualnego tworzenia migracji lub poprawienia wygenerowanych automatycznie migracji. Narzędzie do migracji zapamiętuje wcześniejszy stan bazy danych i na tej podstawie generuje skrypt do migracji. Gdy struktura bazy danych zostanie zmieniona bezpośrednio w bazie danych (bez użycia migracji) to migracje nie będą działać poprawnie. Należy w takim wypadku poprawić wygenerowany skrypt lub usunąć cała historię migracji i uruchomić je ponownie. Migracje są mocno powiązane z metodą Seed, która jest tematem kolejnego rozdziału, w którym zostaną przedstawione przykłady kodu.
Więcej informacji na temat migracji:
http://msdn.microsoft.com/en-us/data/jj591621.aspx
Komentarze facebook (polub nasz profil na FB aby je zobaczyć):