【问题标题】:There is already an object named 'DATABASECHANGELOGLOCK' in the database数据库中已经有一个名为“DATABASECHANGELOGLOCK”的对象
【发布时间】:2020-10-19 14:51:56
【问题描述】:

我的liquibase有问题,应用是spring boot,ms sql server

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liquibase' defined in class path resource [org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration$LiquibaseConfiguration.class]: Invocation of init method failed; nested exception is liquibase.exception.LockException: liquibase.exception.DatabaseException: There is already an object named 'DATABASECHANGELOGLOCK' in the database. [Failed SQL: (2714) CREATE TABLE DATABASECHANGELOGLOCK (ID int NOT NULL, LOCKED bit NOT NULL, LOCKGRANTED datetime2(3), LOCKEDBY nvarchar(255), CONSTRAINT PK_DATABASECHANGELOGLOCK PRIMARY KEY (ID))]

【问题讨论】:

  • 你想创建DATABASECHANGELOGLOCK表,但是数据库中已经存在了。
  • 我知道但为什么会创建 DATABASECHANGELOGLOCK
  • 您应该提供更多信息,如何配置您的应用等。
  • DATABASECHANGELOGLOCK 是 liquibase 的必备表
  • 你试过reading the documentation吗?

标签: java sql-server spring liquibase


【解决方案1】:

您可以使用这些属性更改databasechangelogdatabasechangeloglock 表的名称:

spring.liquibase.database-change-log-lock-table=YOUR_DATABASECHANGELOGLOCK
spring.liquibase.database-change-log-table=YOUR_DATABASECHANGELOG

【讨论】:

    【解决方案2】:

    问题解决了,我给sql server用户添加了太多权限

    【讨论】:

      猜你喜欢
      • 2019-05-12
      • 2011-03-29
      • 2016-04-08
      • 2014-08-01
      • 2010-11-12
      • 2021-05-10
      • 2013-10-21
      • 1970-01-01
      • 2016-06-22
      相关资源
      最近更新 更多