首页 > 解决方案 > 将清空在 Liquibase 输入中为我的 spring 实体创建初始 DDL 脚本?

问题描述

我试图DDL (create, alter, drop)为我的弹簧实体生成初始值。我正在使用Liquibase,我是新手。

我了解到变更集可以scripts为数据库产生差异。所以我很好奇一个空的变更集是否可以为我创建初始脚本。

将为我创建一个空的databaseChangeLogddl 脚本吗?如果不是,我如何使用 Liquibase 实现这一目标?

change-log,我的意思是这个

<databaseChangeLog
 xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog
 http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.1.xsd">


     <changeSet id="01" author="hhimanshu"></changeSet>

</databaseChangeLog>

既然我知道change-log可以转换为脚本,我该如何change-log为我的 spring 实体生成?

标签: javaspringliquibase

解决方案


简答NO。您需要手动创建更改集或使用generateChangeLog从现有数据库生成更改日志。

所以流程应该是:

  • 使用 jpa 自动生成创建您的数据库(例如使用 h2 db)
  • 使用上面的命令生成变更日志
  • 检查生成的变更日志是否正常
  • 将更改日志添加到您的应用程序
  • 执行 changelog 并检查是否一切正常

推荐阅读