如何使用 Spring Boot and Flyway 为 Quartz 调度程序设置数据库模式?
How to set the database schema for the Quartz scheduler with Spring Boot and Flyway?
我有一个 Spring 启动应用程序,它使用 Quartz 调度程序和 PostGreSQL 数据库作为存储。我正在将它从 运行 它自己的数据库和 public
模式迁移到 运行 针对每个应用程序一个模式的共享数据库。架构由 flyway.
管理
在测试期间(testcontainers)应用程序启动失败
Caused by: org.postgresql.util.PSQLException: ERROR: relation "qrtz_locks" does not exist
Position: 15
尽管 flyway 之前在架构 app_test_hub_scheduler_v0
中创建了 table。
配置为
spring:
jpa.properties:
hibernate.default_schema: app_test_hub_scheduler_v0
flyway:
enabled: true
schemas: app_test_hub_scheduler_v0
jpa:
properties:
hibernate:
default_schema: app_test_hub_scheduler_v0
quartz:
jdbc:
schema: app_test_hub_scheduler_v0
jdbcUrlParams: ?currentSchema=app_test_hub_scheduler_v0
石英属性为
org.quartz.scheduler.instanceName=test-hub-scheduler
org.quartz.scheduler.instanceId=AUTO
org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount=50
org.quartz.jobStore.misfireThreshold=60000
org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
org.quartz.jobStore.useProperties=true
org.quartz.jobStore.dataSource=myDS
org.quartz.jobStore.tablePrefix=qrtz_
org.quartz.jobStore.isClustered=false
似乎 quartz 没有得到架构名称。怎么设置?
如果在 quartz.properties.For 示例
中声明了以下 属性,Quartz 调度程序可以考虑 schema_name
org.quartz.jobStore.tablePrefix=app_test_hub_scheduler_v0.qrtz_
这里
app_test_hub_scheduler_v0 = is schema name and
qrtz_= is quartz table prefix
我有一个 Spring 启动应用程序,它使用 Quartz 调度程序和 PostGreSQL 数据库作为存储。我正在将它从 运行 它自己的数据库和 public
模式迁移到 运行 针对每个应用程序一个模式的共享数据库。架构由 flyway.
在测试期间(testcontainers)应用程序启动失败
Caused by: org.postgresql.util.PSQLException: ERROR: relation "qrtz_locks" does not exist
Position: 15
尽管 flyway 之前在架构 app_test_hub_scheduler_v0
中创建了 table。
配置为
spring:
jpa.properties:
hibernate.default_schema: app_test_hub_scheduler_v0
flyway:
enabled: true
schemas: app_test_hub_scheduler_v0
jpa:
properties:
hibernate:
default_schema: app_test_hub_scheduler_v0
quartz:
jdbc:
schema: app_test_hub_scheduler_v0
jdbcUrlParams: ?currentSchema=app_test_hub_scheduler_v0
石英属性为
org.quartz.scheduler.instanceName=test-hub-scheduler
org.quartz.scheduler.instanceId=AUTO
org.quartz.threadPool.class=org.quartz.simpl.SimpleThreadPool
org.quartz.threadPool.threadCount=50
org.quartz.jobStore.misfireThreshold=60000
org.quartz.jobStore.class=org.quartz.impl.jdbcjobstore.JobStoreTX
org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.PostgreSQLDelegate
org.quartz.jobStore.useProperties=true
org.quartz.jobStore.dataSource=myDS
org.quartz.jobStore.tablePrefix=qrtz_
org.quartz.jobStore.isClustered=false
似乎 quartz 没有得到架构名称。怎么设置?
如果在 quartz.properties.For 示例
中声明了以下 属性,Quartz 调度程序可以考虑 schema_nameorg.quartz.jobStore.tablePrefix=app_test_hub_scheduler_v0.qrtz_
这里
app_test_hub_scheduler_v0 = is schema name and
qrtz_= is quartz table prefix