Jhipster:如何在开始时用Liquibase填充数据库

时间:2018-06-28 12:45:12

标签: java spring-boot jhipster

我是Jhipster的新手,我创建了一个整体应用程序,我想知道当我的应用程序在dev中启动时如何在H2数据库中自动创建实体吗?

我已经在/ resources / config / liquibase中看到了一些csv文件,该文件似乎可以创建用户和权限,但是我不知道如何使用它来创建其他实体

2 个答案:

答案 0 :(得分:6)

您可以创建一个使用ext:LoadData元素的新Liquibase ChangeSet。在此元素内,您需要指定要填充的每一列。

<changeSet author="Joe Bloggs" id="42">
  <ext:loadData identityInsertEnabled="true" commentLineStartsWith="#"
            encoding="UTF-8"
            file="config/liquibase/changelog/data/foo.csv"
            quotchar="&#34;"
            separator=","
            tableName="FOO">
     <column name="bar" type="STRING"/>
     <column name="baz" type="STRING"/>
  </ext:loadData>
</changeSet>

然后在foo.csv文件中可以添加值(第一行是标题,随后的行是数据):

"bar","baz"
"bar1","baz1"
"bar2","baz2"
"bar3","baz3"

答案 1 :(得分:0)

对我有用的东西

在您的config / liquidbase / changelog中编辑“ added_entity” xml(例如:20180606131920_added_entity_Product.xml),并在createTable标签之后添加:

        <loadData encoding="UTF-8"
              file="config/liquibase/product.csv"
              separator=";"
              tableName="product">
    </loadData>

当然,请在指定位置创建一个product.csv