Поддерживает ли XL Deploy Fluent Migrator?

Я хочу использовать Fluent Migrator для миграции баз данных для моего проекта.net. У кого-нибудь есть истории успеха Fluent Migrator, интегрированного с XL Deploy для развертывания базы данных?

С уважением, Pandian.

1 ответ

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

Затем вам нужно добавить или изменить следующие файлы в папке ext сервера XL Deploy:

1- синтетический.xml, который будет содержать определенные типы элементов конфигурации (CI). Например, они будут содержать параметры, которые необходимо передать в сценарий, как показано ниже,

<type type="MigrateDB.DeployedScripts" extends="udm.BaseDeployedArtifact" deployable-type="MigrateDB.Scripts" container-type="MigrateDB.Runner">
    <property name="username"
          kind="string"
          required="false"
          description="The user to use to connect to the database."/>
    <property name="password"
          kind="string"
          required="false"
          password="true"
          description="The password to use to connect to the database."/>
    <property name="schemas"
          kind="set_of_string"
          required="true"
          description="list of schemas."/>
</type>

2- xl-rules.xml, который будет содержать правила, которые определены

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

<conditions>
    <type>MigrateDB.DeployedScripts</type>
    <operation>CREATE</operation>
    <operation>MODIFY</operation>
</conditions>

Затем вы можете определить местоположение вашего скрипта миграции, который будет относительно директории ext, как показано ниже,

<jython>
    <description expression="true">"Run migration"</description>
    <order>50</order>
    <script-path>MigratDB/run-migration.py</script-path>
</jython>

Обязательно перезапустите сервис XLDeploy после применения этих изменений. Вы можете посмотреть, как создается этот плагин xld-flyway-plugin. Вы также можете попробовать обнаружить и использовать его, поместив его jar в каталог плагинов.

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