0

我们在 SpringBoot、Hibernate 和 Liquibase 上使用堆栈。我有一个包含 24000 个插入的 sql 文件。当我将其转换为 yaml(用于版本控制)时,我得到了一个巨大的 yaml 文件,我将其拆分为 16 个 yaml。使用 liquibase 命令行选项使用主文件插入非常快。但是使用 Spring 和 Hibernate,它就卡住了。最多5个文件就可以了。除此之外的任何东西都行不通。我尝试了 16 个文件中的 4 个文件,它也可以工作。因此,任何格式错误的 yaml 文件都不是问题。我还尝试在我的 application.yml 中使用以下属性。

 spring:
      datasource:
        hikari:
          maximum-pool-size: 100


     properties:
          hibernate:
            jdbc:
              batch_size: 200

        Basically, it gets stuck at the changelog lock. This is what the log shows:

        2019-10-17 18:10:26.375  INFO 1 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
        2019-10-17 18:10:26.387  WARN 1 --- [           main] com.zaxxer.hikari.util.DriverDataSource  : Registered driver with driverClassName=com.mysql.jdbc.Driver was not found, trying direct instantiation.
        2019-10-17 18:10:26.927  INFO 1 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Start completed.
        2019-10-17 18:10:27.760  INFO 1 --- [           main] liquibase.executor.jvm.JdbcExecutor      : SELECT COUNT(*) FROM pbr.DATABASECHANGELOGLOCK
        2019-10-17 18:10:27.794  INFO 1 --- [           main] liquibase.executor.jvm.JdbcExecutor      : SELECT COUNT(*) FROM pbr.DATABASECHANGELOGLOCK
        2019-10-17 18:10:27.804  INFO 1 --- [           main] liquibase.executor.jvm.JdbcExecutor      : SELECT `LOCKED` FROM pbr.DATABASECHANGELOGLOCK WHERE ID=1
        2019-10-17 18:10:27.812  INFO 1 --- [           main] l.lockservice.StandardLockService        : Waiting for changelog lock....
        2019-10-17 18:10:37.816  INFO 1 --- [           main] liquibase.executor.jvm.JdbcExecutor      : SELECT `LOCKED` FROM pbr.DATABASECHANGELOGLOCK WHERE ID=1
        2019-10-17 18:10:37.821  INFO 1 --- [           main] l.lockservice.StandardLockService        : Waiting for changelog lock..

那没起效。请帮我。

插入如下: databaseChangeLog:-changeSet:id:15706644546-4 作者:pbr-admin 更改:-插入:列:-列:名称:model_id 值:xxxxx -列:名称:category_id 值:ALL_TRANSACTIONS -列:名称: afpr_indexed valueBoolean: false - column: name: score valueNumeric: xxx

更改日志是特定于 liquibase 的。

4

0 回答 0