Wyjaśnienie Migratorów (FluentMigrator)?

Czy ktoś mógłby wyjaśnić pojęcie Migratorów (w szczególności fluentmigratora)?

Oto (prawdopodobnie mylone) fakty, które zebrałem na ten temat:

Czy jest to sposób na początkowe tworzenie, a następnie aktualizowanie bazy danych za pomocą wersjonowania.

Pierwsza migracja (lub początkowa wersja bazy danych) zawierałaby wszystkie wymagane tabele, relacje i właściwości (wykonywane płynnie lub przy użyciu fragmentu sql w skrypcie).

Jeśli chcesz przesunąć zmianę do bazy danych, utwórz nową metodę migracji (w górę iw dół), na przykład dodaj nową tabelę lub zmodyfikuj pole.

Aby wdrożyć jedną z tych migracji, należy użyć wiersza polecenia określającego bibliotekę DLL zawierającą migrację, ciąg połączenia i wymaganą wersję.

Gdybyś miał dość złożony zestaw modeli danych, czy nie byłoby raczej trudne i czasochłonne stworzenie definicji migracji dla tego wszystkiego?

Wiem z nHibernate / fluent możesz łatwo generować tabele dla bazy danych bez konieczności definiowania niczego innego niż modele i pliki map. Czy istnieje sposób, aby ta konfiguracja była kompatybilna z Migrator / Versioning?

Gdy nhibernate / biegły jest odpowiedzialny za generowanie bazy danych, niekoniecznie muszę definiować każdy aspekt tabel. Wykonuje się to za pomocą konwencji lub plików mapowania. Z migrantami musiałbym zdefiniować ten poziom szczegółowości?

questionAnswers(1)

yourAnswerToTheQuestion