表未在指定的模式中创建

时间:2016-08-13 10:17:29

标签: postgresql spring-boot

我正在尝试将spring boot与postgres db集成。 一切正常,除非在公共模式中创建表,即使我在application.properties中指定特定模式

spring.datasource.schema=AngSpring

application.properties

spring.jpa.database=POSTGRESQL
spring.datasource.platform=postgres
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update
spring.database.driverClassName=org.postgresql.Driver
spring.datasource.url=jdbc:postgresql://localhost:5432/NGP_DB
spring.datasource.schema=AngSpring
spring.datasource.username=jdbcusr
spring.datasource.password=password

您可以在postgres db屏幕截图中看到 task_list 表是在“public”架构下创建的。根据属性文件,它应该属于'AngSpring'模式。

Schema description

如果我在代码中做错了,请纠正我。

1 个答案:

答案 0 :(得分:4)

我想spring.datasource.schema属性用于指定应用程序中concrete schema script file的位置以生成数据库,因此您应该删除它。

相反,您似乎希望使用Hibernate从您的权限中猜出的那个,并将其放在postgres数据库中的特定架构位置。请改用网址中的架构:

 spring.datasource.url=jdbc:postgresql://localhost:5432/NGP_DB?currentSchema=AngSpring

另见: