gpt4 book ai didi

java - Flyway和 hibernate : Cannot populate data to initial database

转载 作者:行者123 更新时间:2023-12-03 08:00:40 24 4
gpt4 key购买 nike

在 Spring Boot 应用程序中,我使用 Hibernate 并且正确创建了 2 个表。但是,我还需要在这些表之一中插入数据,为此我认为我应该使用 Flyway。

然后我只是向 Flyway 添加了插入子句,并在 application.properties:v 中为 Hibernate 和 Flyway 使用以下参数

spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.hibernate.ddl-auto= update # also tried none

spring.flyway.url=jdbc:mysql://localhost:3306
spring.flyway.schemas=demo-db
spring.flyway.user=root
spring.flyway.password=******

我没有使用 Flyway 来初始化数据库,并且我不确定是否可以像上面提到的那样将 Flyway 与 Hibernate 一起使用。或者,我应该禁用 Hibernate 表创建并为表创建创建另一个迁移脚本吗?

最佳答案

这里的问题是 Hibernate 不会自动创建表。此外,如果使用 Spring Boot,Flyway 将在使用 hibernate 的服务启动之前运行。因此,您的 Flyway 脚本正在与不存在的表进行交互。

推荐的方法是使用 Flyway 来管理数据库结构、创建表等以及静态数据。这意味着您的数据库已进行版本控制并已配置好,可供您的服务使用,并且 hibernate 可以连接。

关于java - Flyway和 hibernate : Cannot populate data to initial database,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74330865/

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