如何将数据库脚本分配给 spring.quartz.jdbc.schema

how to assign db script to spring.quartz.jdbc.schema

提问人:Stephan 提问时间:9/30/2020 最后编辑:Jens SchauderStephan 更新时间:7/19/2022 访问量:979

问:

我正在使用带有弹簧靴的石英。我想在启动期间使用自己的数据库脚本生成石英表。我已经生成了tables_postgresql.sql文件并放入 src/main/resources。 在application.properties中,我为
spring.quartz.jdbc.schema = \tables_postgresql.sql赋值。

但是在启动过程中没有被拾取。 你能帮我如何在statrt up期间使用这个sql文件吗?

问候,斯蒂芬

java spring spring-boot quartz-scheduler

评论

0赞 Stephan 9/30/2020
我也尝试过spring.quartz.jdbc.schema = classpath: /tables_postgresql.sql。(根据文档:docs.spring.io/spring-boot/docs/2.0.x/reference/html/...)。但它不起作用。
0赞 Onur Baştürk 10/1/2020
您是否有其他属性,例如spring.quartz.job-store-type=jdbc和spring.quartz.jdbc.initialize-schema=always?
0赞 Stephan 10/1/2020
此外,我还有以下设置: spring.quartz.job-store-type=jdbc spring.quartz.jdbc.initialize-schema= always spring.quartz.jdbc.comment-prefix=# 我还将模式文件设置更改为 spring.quartz.jdbc.schema =classpath:sql/quartz_tables.sql 但它给出了异常:
0赞 Stephan 10/1/2020
原因:org.springframework.jdbc.datasource.init.CannotReadScriptException:无法从类路径资源[sql/quartz_tables.sql]读取SQL脚本;嵌套异常是java.io.FileNotFoundException:类路径资源[sql/quartz_tables.sql]无法打开,因为它不存在。我也改成了: classpath: quartz_tables.sql , /quartz_tables.sql , \quartz_tables.sql , classpath: resources/quartz_tables.sql 。但没有运气。你能帮我进一步吗?

答:

0赞 Javy Villalba 7/19/2022 #1

有点晚了,希望能对其他人有所帮助......
我创建了文件(包含 create tables/idx 语句):

src/main/resources/quartz.sql

我配置了这样的:application.properties

spring.quartz.jdbc.schema=classpath:quartz.sql

由于文件位于“resources”文件夹中,因此不应包含“/”(斜杠)或空格。