liquibase:每次我 运行 应用程序时执行一个变更集

liquibase : execute a changeset each time I run the application

我正在使用 liquibase 在我的 Mysql 数据库中加载数据,如下所示:

<loadUpdateData encoding="UTF-8"
          primaryKey="pk_id"
          file="config/liquibase/site.csv"
          separator=";"
          tableName="site">
    <column name="site" type="STRING"/>
</loadUpdateData>

如何在我每次 运行 我的应用程序时强制 liquibase 执行此任务(以防 site.csv 发生变化)?我的问题是,当liquibase执行完变更集后,它不会再执行了。

如果您只想 运行 它,如果 CSV 文件已更改,请将 runOnChange="true" 作为属性添加到 changeSet

<changeSet id="42" author="arthur" runOnChange="true">
  <loadUpdateData>
  ...
  </loadUpdateData>
</changeSet>

如果您总是想要运行它,请改用runAlways="true"

查看手册了解更多详情: http://www.liquibase.org/documentation/changeset.html