Генерация скриптов БД с использованием 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 здесь.