как назначить скрипт БД spring.quartz.jdbc.schema

#java #spring #spring-boot #quartz-scheduler

#java #spring #spring-загрузка #quartz-планировщик

Вопрос:

Я использую quartz с загрузкой spring. Я хочу использовать собственный скрипт БД для создания таблиц quartz во время запуска. Я сгенерировал файл tables_postgresql.sql и поместил его в src/main/resources. В application.properties я присваиваю значение
spring .quartz.jdbc.schema = tables_postgresql.sql.

Но он не распознается во время запуска. Не могли бы вы помочь мне, как использовать этот файл sql во время statrt up?

С уважением, Стефан

Комментарии:

1. Я также пробовал это с spring. quartz.jdbc.schema = путь к классу: /tables_postgresql.sql. (согласно документации: docs.spring.io/spring-boot/docs/2.0.x/reference/html /… ). Но это не работает.

2. Есть ли у вас другие свойства, такие как spring. quartz.job-store-type= jdbc и spring . quartz.jdbc.initialize-schema=всегда?

3. Кроме того, у меня есть следующие настройки: spring. quartz.job-store-type=jdbc spring. quartz.jdbc.initialize-schema= всегда spring . quartz.jdbc.comment-prefix=# я также изменил настройки файла схемы на spring. quartz.jdbc.schema =classpath:sql/quartz_tables.sql Но это дает исключение :

4. Вызвано: org.springframework.jdbc.datasource.init. CannotReadScriptException: не удается прочитать SQL-скрипт из ресурса пути к классу [sql / quartz_tables.sql]; вложенным исключением является java.io.FileNotFoundException: ресурс пути к классу [sql /quartz_tables.sql] не может быть открыт, поскольку он не существует . Я также изменил: classpath: quartz_tables.sql , /quartz_tables.sql , quartz_tables.sql , classpath: ресурсы/quartz_tables.sql . Но не повезло. Не могли бы вы помочь мне дальше?

Ответ №1:

Немного поздно, я надеюсь, что это поможет другим…
Я создал файл (который содержит инструкции create tables / idx):

 src/main/resources/quartz.sql
  

И я настроил application.properties так:

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

поскольку файл находится в папке «ресурсы», в нем не должно быть «/» (косой черты) или пробелов.