【问题标题】:Spring Boot initialization with schema.sql and DDL auto generation?使用 schema.sql 和 DDL 自动生成的 Spring Boot 初始化?
【发布时间】:2019-04-17 14:48:10
【问题描述】:

是否有可能让用于创建模式的自定义 sql 与 ddl 自动生成共存?我可以创建一个schema.sql,它运行良好,但它优先于 ddl 自动生成并防止自动生成任何实体。我想用schema.sql 创建我的视图,但我的表是自动生成的。我可以在data.sql 中创建视图,这是一种解决方法,但从语义上讲,在那里创建视图没有意义。

【问题讨论】:

    标签: hibernate spring-boot jpa


    【解决方案1】:

    根据文档,不能同时使用自动生成和schema.sql:

    在基于 JPA 的应用程序中,您可以选择让 Hibernate 创建模式或使用 schema.sql,但不能同时使用这两种方法。如果您使用 schema.sql,请确保禁用 spring.jpa.hibernate.ddl-auto。

    所以,你可以保留自动生成,data.sql,然后配置 Flyway 来创建视图。

    对于 Flyway 配置,在类路径中加载 org.flywaydb:flyway-core:

    <dependency>
        <groupId>org.flywaydb</groupId>
        <artifactId>flyway-core</artifactId>
        <version>5.2.4</version>
    </dependency>
    

    然后使用 CREATE VIEW... 语句在 /resources/db/migration/V1__createviews.sql 上创建您的第一个迁移脚本。

    【讨论】:

      猜你喜欢
      • 2015-09-30
      • 2014-02-02
      • 2018-06-09
      • 2023-04-05
      • 2020-04-16
      • 2019-09-17
      • 2022-01-02
      • 2017-06-09
      • 1970-01-01
      相关资源
      最近更新 更多