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ć):