【问题标题】:How to generate SQL schema from Spring Boot entities?如何从 Spring Boot 实体生成 SQL 模式?
【发布时间】:2017-06-12 00:28:31
【问题描述】:

Spring Boot 是一个很好的框架,可以快速开发应用程序。但是,在创建绑定到数据库的应用程序时,似乎有些工作必须完成两次(我使用的是 Flyway):

  • 创建表创建 SQL 查询脚本
  • 创建包含相应注释的 Spring 实体
  • 运行应用程序:flyway 脚本生成表格

编写脚本和实体可能很耗时,而且没有附加价值。可以只做一次吗?

谢谢

【问题讨论】:

  • 您可以使用适当的 Hibernate 属性生成数据库。但是,这仅适用于开发环境,不适用于实际生产使用(有可能使用 Hibernate ddl 生成更新数据库,但我不相信它在真正的生产环境中)。此外,通过编写迁移脚本,您可以更好地影响迁移本身,即使是价值转换等)
  • spring.jpa.hibernate.ddl-auto=update

标签: database spring-boot flyway


【解决方案1】:

只需在配置文件中设置这些属性:

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

架构文件将在项目根目录中自动生成。希望对您有所帮助。

【讨论】:

    【解决方案2】:

    您也可以使用 JPA Buddy 插件。它有一个“显示 DDL”菜单,您可以在其中可视化选定实体的 sql 脚本。当您想避免手动创建所有内容时非常有用。

    【讨论】:

      猜你喜欢
      • 2023-02-26
      • 2020-11-16
      • 2020-05-05
      • 1970-01-01
      • 2021-10-29
      • 2018-12-25
      • 2011-10-14
      • 2016-08-27
      • 2014-02-22
      相关资源
      最近更新 更多