XL Deploy是否支持Fluent Migrator?

时间:2018-01-02 09:21:05

标签: database-migration fluent-migrator database-versioning xl-deploy

我想使用Fluent Migrator进行我的.net项目的数据库迁移。有没有人将Fluent Migrator与XL Deploy集成在一起进行数据库部署?

此致 Pandian。

1 个答案:

答案 0 :(得分:1)

这可以通过使用XLDeploy Rules进行定制来完成 您首先需要拥有迁移脚本,该脚本将包含运行数据库迁移所需的步骤。

然后,您需要在XL Deploy服务器的 ext 文件夹中添加或修改以下文件:

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 ,其中将包含已定义的规则

首先,您需要定义此规则的运行时间,例如进行初始部署或通过设置 condition 进行更新(如下所示)

<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放在 plugins下来发现并使用它目录。