gpt4 book ai didi

spring-boot - 在 Spring Boot 2 中,如何自动生成我的数据库并将模式生成命令记录到文件中?

转载 作者:行者123 更新时间:2023-12-03 17:11:22 33 4
gpt4 key购买 nike

我在 Java 11 中使用 Spring Boot 2.1。我正在使用 Maven 来构建我的 Artifact 。在本地运行时,我喜欢 Spring JPA 指令,它让我自动创建数据库......

spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
spring.jpa.hibernate.ddl-auto=update
spring.jpa.hibernate.show-sql=true
我也喜欢让我自​​动创建文件的指令......
spring.jpa.properties.javax.persistence.schema-generation.create-source=metadata
spring.jpa.properties.javax.persistence.schema-generation.scripts.action=update
spring.jpa.properties.javax.persistence.schema-generation.scripts.create-target=update.sql
然而,当我在我的 src/main/resources/application.properties 中结合两者时......
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
spring.jpa.hibernate.ddl-auto=update
spring.jpa.hibernate.show-sql=true
spring.jpa.properties.javax.persistence.validation.mode=none

spring.datasource.url=jdbc:postgresql://${PG_DB_HOST:localhost}:5432/${PG_DB_NAME}

spring.datasource.username=${PG_DB_USER}
spring.datasource.password=${PG_DB_PASS}

spring.jpa.properties.javax.persistence.schema-generation.create-source=metadata
spring.jpa.properties.javax.persistence.schema-generation.scripts.action=update
spring.jpa.properties.javax.persistence.schema-generation.scripts.create-target=update.sql
似乎“spring.jpa.properties.javax.persistence”优先,我的架构更改不会针对数据库自动运行。有没有办法配置同时发生的事情——更改被记录到文件中并自动针对我的数据库运行?

最佳答案

如下添加带有 javax.persistence 的 database.action,它将根据模型更新数据库模式,如 Database Schema Creation 中所述。
application.properties

spring.jpa.properties.javax.persistence.schema-generation.database.action=update
还建议更改(已弃用) PostgreSQLDialect方言 PostgreSQL82Dialect或根据您使用的版本。 Dailects
application.properties
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
spring.jpa.hibernate.ddl-auto=update
spring.jpa.hibernate.show-sql=true
spring.jpa.properties.javax.persistence.validation.mode=none

spring.datasource.url=jdbc:postgresql://${PG_DB_HOST:localhost}:5432/${PG_DB_NAME}

spring.datasource.username=${PG_DB_USER}
spring.datasource.password=${PG_DB_PASS}

spring.jpa.properties.javax.persistence.schema-generation.database.action=update
spring.jpa.properties.javax.persistence.schema-generation.create-source=metadata
spring.jpa.properties.javax.persistence.schema-generation.scripts.action=update
spring.jpa.properties.javax.persistence.schema-generation.scripts.create-target=update.sql

关于spring-boot - 在 Spring Boot 2 中,如何自动生成我的数据库并将模式生成命令记录到文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62805788/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com