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

Liquibase脚本失败

颛孙安康
2023-03-14

我有一个用LiquiBase创建DB模式的glassfish应用程序。我已经将相同的应用程序迁移到Spring Boot。我没有删除DB架构。当我部署Spring应用程序并运行liquibase脚本时,我得到

java.sql.SQLSyntaxErrorException: ORA-00955: name is already used by an existing object

更新:这可能与changelog文件中存储的MD5总和有关吗?所以新应用程序计算的md5与旧应用程序计算的md5不匹配,脚本被触发,导致明显的异常?

多谢

共有1个答案

南门展
2023-03-14

我不认为您有校验和差异--这将导致不同的错误消息。我认为很可能是DATABASECHANGELOG表与LiquiBase报告的更改具有不同的changelog路径。

变更集由三个参数标识-变更集id、作者和路径。当Liquibase决定是否应该将changelog中的变更集部署到特定数据库时,它会查看DATABASECHANGELOG表并检索该信息,将其与changelog文件中的信息进行比较,并且不会尝试部署任何匹配的内容。在这种情况下,我认为它检测到路径中的差异,并尝试重新部署更改。

 类似资料:
  • 我正在使用liquibase更新数据库。 我有文件changelog-master.xml,其中包含: 在resource/src/main/resources/dbchangelog/ddl/中,我有一个带有脚本的文件MS sql: 错误: 是否可以运行典型的MS SQL脚本或liquibase会有问题?

  • 我们使用的是Liquibase 3.6.3版本 我们正在使用SQL服务器数据库上的liquibase运行SQL升级脚本,使用liquibase.bat(我们作为安装的一部分获得),如下所示。这是按预期工作的。 命令: liquibase.bat--ChangeLogFile=...\MasterChangelog.xml--驱动程序==com.microsoft.sqlserver.jdbc.SQ

  • 问题内容: 项目配置: 数据库-MySQL 5.7 orm-Hibernate 4.3.11.Final / JPA 1.3.1.RELEASE Liquibase 3.4.2 当我仅从Liquibase从workBeanch运行脚本时,我的问题不存在。 我的SQL脚本看起来像这样: 确定并记录: 问题答案: 如果您使用的是yaml文件,则这是配置 确保stripComments应该为false,

  • 我试图使用liquibase向角色添加成员,但SQL与SQL Server2008到2012不同。 SQL Server 2008: 我需要脚本能够找出它正在使用的SQL Server的哪个版本,并且只运行特定的liquibase脚本,无论是changeset还是ChangeLog。

  • 脚本来自https://www.browserstack.com/automate/python 失败了 urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='hub.browserstack.com', port=80): url: /wd/hub/session超过最大重试次数(由NewConnectionError(':无法建立

  • 我正在尝试使用空手道执行bash脚本。我可以从karate-config.js和.feature文件中执行脚本。我还可以将参数传递给脚本。问题是,如果脚本失败(以0以外的其他东西退出),测试执行将继续并以SuccesFull结束。 我发现当脚本回显时,我可以作为脚本的结果访问它,这样我就可以回显退出值并对其进行断言(在一些可重用的特性中),但这似乎是一个变通方法,而不是一个有效的干净解决方案。有没