OpenShift中的Quarkus Hibernate ORM:Import.sql未执行

dldeef67  于 2022-11-14  发布在  其他
关注(0)|答案(1)|浏览(158)

我在OpenShift中部署了一个Quarkus应用程序。APPLICATION.PROPERTES包括以下配置:

quarkus.datasource.db-kind=h2
quarkus.hibernate-orm.database.generation=drop-and-create

quarkus.datasource.jdbc.url=jdbc:h2:mem:default
quarkus.smallrye-graphql.ui.always-include=true

这种配置可以有效地创建模式。但是,数据库并未填充。所有的table都是空的。似乎port.sql被忽略了。
为了避免这种情况,我尝试了以下几点:

quarkus.datasource.jdbc.url=jdbc:h2:mem:default;INIT=RUNSCRIPT FROM 'classpath:import.sql'

这将导致确实执行了port.sql。然而,这种执行发生在模式生成之前,导致了一系列错误,表明表不存在。
我该如何解决这个问题?在OpenShift之外,上面的第一个配置可以正常工作。

wljmcqd8

wljmcqd81#

Prod模式下,不会(故意)读取import.sql。如果您仍想加载数据,则需要添加:

%prod.quarkus.hibernate-orm.sql-load-script=import.sql

默认情况下,此属性设置为no-file
请注意,如果需要,您可以在prod中使用不同的文件名。

相关问题