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

Liquibase-错误:关系“DatabaseChangelog”已存在

公良同
2023-03-14
INFO 2014-04-28 06:49:liquibase: Successfully acquired change log lock
INFO 2014-04-28 06:49:liquibase: Creating database history table with name: databasechangelog
INFO 2014-04-28 06:49:liquibase: ChangeSet src/main/resources/sql/postGre/db.changelog-2.0.xml::1::fms ran successfully in 555ms
INFO 2014-04-28 06:49:liquibase: Creating database history table with name: databasechangelog
SEVERE 2014-04-28 06:49:liquibase: Error executing SQL CREATE TABLE databasechangelog (ID VARCHAR(63) NOT NULL, AUTHOR VARCHAR(63) NOT NULL, FILENAME VARCHAR(200) NOT NULL, DATEEXECUTED TIMESTAMP WITH TIME ZONE NOT NULL, ORDEREXECUTED INT NOT NULL, EXECTYPE VARCHAR(10) NOT NULL, MD5SUM VARCHAR(35), DESCRIPTION VARCHAR(255), COMMENTS VARCHAR(255), TAG VARCHAR(255), LIQUIBASE VARCHAR(20), CONSTRAINT PK_DATABASECHANGELOG PRIMARY KEY (ID, AUTHOR, FILENAME))
org.postgresql.util.PSQLException: ERROR: relation "databasechangelog" already exists
<plugin>
            <groupId>org.liquibase</groupId>
            <artifactId>liquibase-maven-plugin</artifactId>
            <version>2.0.1</version>
            <configuration>
                <changeLogFile>src/main/resources/sql/postGre/changelog-master.xml</changeLogFile>
                <promptOnNonLocalDatabase>false</promptOnNonLocalDatabase>
                <defaultschemaName><<my application schema>> </defaultschemaName>
                <driver>org.postgresql.Driver</driver>
                <url>jdbc:<<mydburl>> </url>
                <username>user</username>
                <password>pwd</password>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>update</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

请让我错在哪里。

共有1个答案

宗波涛
2023-03-14

对于h2数据库,也有同样的问题。

我的连接字符串是

JDBC:h2:mem:testdb;db_close_delay=-1;database_to_upper=false;

 类似资料:
  • 块(2个级别)in 'tasks:TOP=>db:migrate(请参阅通过运行任务与--trace进行完整跟踪) 我不知道这怎么可能,因为在方案文件中我没有张贴表。

  • 我是liquibase的新手,我想在生产中的数据库上使用它。这是一个很小的应用程序,但我不想手工创建模式,而是想使用更专业的东西,比如LiquiBase。 我计划做的是在生产中的当前模式和新模式之间为新应用程序准备一个changelog。我已经遵循了许多教程,但仍然缺少一些东西。输出changelog.xml总是导入所有模式,并且与现有模式没有区别。我看到liquibase必须创建表DATABAS

  • 我对Liquibase(最新版本3.2.2)有一个奇怪的问题。 它没有检测到DATABASECHANGELOG已经存在,因此尝试创建它但失败。 如您所见,创建了表和元数据表: 但当我再次运行时,不是没有任何操作,而是得到一个错误:

  • 在对新的postgres数据库运行liquibase(3.5.3版)部署时,我们会遇到以下错误。表databasechangelog不是由liquibase创建的,但表databasechangeloglock是创建的。 有两种模式,ods和audit。搜索路径是ods,audit,public。我们在连接字符串中指定目标模式(currentSchema=audit)。此外,我们成功地运行了ods

  • :“查询执行失败。原因: SQL错误[42P01]:错误:关系”temp_table“存在。 不存在” 我想创建一个临时表来临时存储一些记录。