当前位置: 首页 > 知识库问答 >
问题:

在Spring启动时在postgres中创建架构

韩刚洁
2023-03-14

当Spring启动加载时,我需要在Postgres中创建一个新模式。因此,它应该检查模式是否不存在,然后创建一个新模式。我正在使用application.properties进行数据库配置。

spring.datasource.platform=postgres
spring.datasource.url=jdbc:postgresql://${vcap.services.postgresql-lite.credentials.hostname}:${vcap.services.postgresql-lite.credentials.port}/${vcap.services.postgresql-lite.credentials.dbname}
spring.datasource.username=${vcap.services.postgresql-lite.credentials.username}
spring.datasource.password=${vcap.services.postgresql-lite.credentials.password}
spring.jpa.properties.hibernate.default_schema=${DATABASE_SCHEMA}
spring.jpa.hibernate.ddl-auto=update
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect

Postgres使用的默认模式是公共的,我需要更改使我自己的模式,我将在env中定义

共有2个答案

戚阳
2023-03-14

您可以在src/main/资源中放置一个schema-postgresql.sql文件,其内容如下:

如果不存在,则创建架构;

凤棋
2023-03-14

使用以下应用程序。属性文件:

spring.datasource.initialize=true
spring.datasource.schema=${DB_SCHEMA}

在架构文件中添加以下内容:

CREATE TABLE IF NOT EXISTS...
 类似资料:
  • 为什么当我运行带有Java8、Spring Boot、Liquibase和Postgresql的项目时,我在我的postgres数据库中没有看到任何新的表?我安装了PostgreSQL 11.6,

  • 问题内容: 我正在尝试使用内存数据库来模拟Teradata数据库。在构建表之前,我需要创建一个架构,但是,这很适合我。 我正在使用Spring,并且与进行了大量数据库交互,但是,这在Hibernate创建所有表之后执行。我试图使用HSQLDB应该读取的文件,但是我认为当您使用内存数据库无法正常工作时。我将文件移动了一点,似乎什么也没打。 任何人都知道如何在启动时为内存中的HSQLDB数据库创建架构

  • 我使用spring-boot-starter-data-solr,并希望利用Spring Data Solr的schmea cration支持,如文档中所述: 每当刷新应用程序上下文时,自动架构填充都会检查您的域类型,并根据属性配置将新字段填充到索引中。这要求 solr 在无架构模式下运行。 但是,我无法实现这一目标。据我所知,Spring启动器不会在@EnableSolrRepositories

  • 问题内容: 我无法启动启动时自动启动数据库架构的Spring Boot。 这是我的application.properties: 这是我的Application.java: 这是一个示例实体: 有什么想法我做错了吗? 问题答案: 有几种可能的原因: 您的实体类位于与之相对的同一个子包中,或者在一个子包中,如果没有,则您的spring应用不会看到它们,因此不会在db中创建任何内容 检查您的配置,似乎