Объяснение Миграторов (FluentMigrator)?

Может ли кто-нибудь объяснить концепцию Миграторов (в частности, беглого мигратора)?

Вот (возможно, запутанные) факты, которые я почерпнул по этому вопросу:

Это способ изначально создавать, а затем поддерживать обновления для базы данных путем управления версиями.

Первая миграция (или первоначальная версия базы данных) будет содержать все необходимые таблицы, отношения и свойства (выполняется свободно или с использованием фрагмента SQL в сценарии).

Если вы хотите отправить изменение в базу данных, вы должны создать новый метод миграции (вверх и вниз), например добавить новую таблицу или изменить поле.

Для развертывания одной из этих миграций вы должны использовать командную строку, указав dll, содержащую миграцию, строку подключения и требуемую версию.

Если бы у вас был довольно сложный набор моделей данных, не было бы довольно сложно и трудоемко создать определение миграции для всего этого?

Я знаю, что с помощью nHibernate / fluent вы можете легко создавать таблицы для базы данных, не определяя ничего, кроме моделей и файлов карт. Есть ли способ сделать эту конфигурацию совместимой с Migrator / Versioning?

Когда nhibernate / fluent отвечает за создание базы данных, мне не обязательно определять все аспекты таблиц. Это делается либо по соглашению, либо через файлы сопоставления. С мигрантами мне нужно было бы определить этот уровень детализации?

Ответы на вопрос(1)

Ваш ответ на вопрос