是否可以使用自定义sql创建与ddl自动生成共存的模式?我可以创建一个schema.sql
,它可以正常运行,但是它优先于ddl自动生成,并且可以防止任何实体被自动生成。我想用schema.sql
创建我的视图,但是我的表是自动生成的。我可以在data.sql
中创建视图,这是一种解决方法,但是从语义上讲,在那里创建视图没有意义。
答案 0 :(得分: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上创建第一个迁移脚本。