如何在Postgres DB中创建架构,然后再开始工作?
我有独立的应用程序。它在java,spring-boot,postgres上,它有liquibase。
我需要部署我的应用程序,liquibase应该创建所有表,等等。但它应该在自定义架构中执行此操作,而不是在公共架构中。liquibase 的所有服务表(数据库更改日志和数据库更改日志锁)也应该在自定义架构中。如何在 liquibase 开始工作之前在 DB 中创建我的架构?我必须在我的应用程序中进行部署,在配置或类似内容中执行此操作。无需对数据库进行任何手动干预。
应用程序.属性:
spring.datasource.jndi-name=java:/PostgresDS
spring.jpa.properties.hibernate.default_schema=my_schema
spring.jpa.show-sql = false
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
spring.datasource.continue-on-error=true
spring.datasource.sql-script-encoding=UTF-8
liquibase.change-log = classpath:liquibase/changelog-master.yaml
liquibase.default-schema = my_schema
UPD:
当 liquibase 开始时,它会创建两个表数据库更改日志和另一个表。之后,液化物开始工作。但是我想要 liquibase in ,但是当 liquibase 开始工作时它不存在,这是一个错误:exception 是 liquibase.exception.LockException: liquibase.exception.DatabaseException: ERROR: schema “my_schema” 不存在liquibase.default-schema = my_schema
我希望在自定义架构中进行 liquibase 工作,而不是在公共环境中工作:
liquibase.default-schema = my_schema
但是在 liquibase 可以做到这一点之前,必须创建架构。Liquibase不能这样做,因为它还没有启动,对于启动,它需要模式。恶性循环。