Генерация скриптов БД с использованием fluentmigrator

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

<Target Name="Migrate" >
    <MakeDir Directories="$(OutputFolder)\DBScripts"></MakeDir>
    <Migrate Database="sqlserver2008"
           Connection="Data Source=ALen-PC;Initial Catalog=TestMigrator;User ID=user;Password=password"
           Target="$(OutputFolder)\Release\bin\MigratorTest.dll"
           Output="True"
           OutputFilename="$(OutputFolder)\DBScripts\DBScript.sql">
    </Migrate>
  </Target>

1 ответ

Решение

На данный момент нет поддержки этого процесса во FluentMigrator. Вы можете добавить временную метку к имени файла и затем проверить размер файла. Если оно очень маленькое, менее 200 байт, выбросьте его. Если его размер превышает 200 байт, схема изменилась, поэтому переименуйте файл в DBScript.sql и замените предыдущую версию.

Я бы порекомендовал отправить это как запрос на добавление функции для FluentMigrator здесь.

Другие вопросы по тегам