如何从 IntelliJ IDEA 中的模型类生成 Flyway 迁移脚本?

Posted

技术标签:

【中文标题】如何从 IntelliJ IDEA 中的模型类生成 Flyway 迁移脚本?【英文标题】:How to generate Flyway migration script from model class in IntelliJ IDEA? 【发布时间】:2021-08-30 02:05:16 【问题描述】:

在 Java 应用程序中,我有一个模型类,我想从中生成 Flyway 迁移脚本。有一个名为 JPABuddy 的有用插件,但我无法使用它生成迁移脚本(即使我删除了相应的表,它也只检测索引部分)。那么,如何在 IntelliJ IDEA 中生成迁移脚本呢?

【问题讨论】:

@AmitDash 有什么答案吗? 抱歉,目前的情况很难理解您的问题。希望您可以分享代码/日志以便人们能够回答。 【参考方案1】:

我认为为了让 Flyway 工作,您需要有一个基本的数据库架构。之后您可以添加其他架构更改。

我认为对您来说最好的方法是通过在属性文件中添加以下属性来使用 JPA 创建数据库模式。

spring.jpa.properties.javax.persistence.schema-generation.scripts.action=create
spring.jpa.properties.javax.persistence.schema-generation.scripts.create-target=create.sql
spring.jpa.properties.javax.persistence.schema-generation.scripts.create-source=metadata

然后您可以使用 create.sql 作为 Flyway 迁移的基本数据库架构。

【讨论】:

非常感谢,投了赞成票。如何为我的数据库生成create.sql 我相信你的 spring 项目中已经有了实体。只需使用上述这些配置,您就应该能够在项目根目录上生成 create.sql。 你可以关注this示例项目

以上是关于如何从 IntelliJ IDEA 中的模型类生成 Flyway 迁移脚本?的主要内容,如果未能解决你的问题,请参考以下文章

Intellij IDEA如何生成JavaDoc?

Intellij IDEA 15中的持久性工具窗口在哪里?

如何在 IntelliJ IDEA 中生成 DAO 类

IntelliJ IDEA 如何生成时序图?

我们如何从可编辑的 Java 代码中生成 IntelliJ IDEA 中的序列图?

IntelliJ Idea - 如何在从数据库表生成域对象时指定选项