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

为什么启动Corda节点时会出现Liquibase校验和验证错误

狄新立
2023-03-14

我已经运行了Corda DB迁移工具并创建了一个.jar,其中包含表示我的CordApps的状态对象的表的.sql脚本,如 https://docs.corda.r3.com/database-management.html#database-management-tool 但是将.jar放在节点的/cordapps文件夹中后,我收到一个错误,指示校验和验证失败:“liquibase.exception.ValidationFailedException:验证失败:2个更改集检查总和...”

您知道如何重置对象的校验和,以便验证不会失败,并且我可以成功启动Corda节点吗?

谢谢

斯坦

共有2个答案

欧阳绪
2023-03-14

如果更改以前运行的现有迁移脚本,则可能会发生这种情况。Corda将尝试根据已运行的内容检查迁移脚本,并发现这些脚本不再匹配。

例如:“MyApp”1.0版有一个迁移“init”脚本,用于创建表< code>FooBar。在启动节点时,创建表,并且< code>databasechangelog和< code > databasechangeloglock 表插入迁移记录。

然后“MyApp”1.1版出来了,它有一个“init”脚本的修改版本。这个新脚本与以前在版本1.0上运行的脚本的名称相匹配,但不再与校验和相匹配,因为内容已经更改。

Kid101的解决方案确实有效,但您只需删除< code>databasechangelog和< code > databasechangeloglock 中已更改脚本的相关条目。另请注意,新的Corda节点将跳过最初的迁移,从版本1.1开始,这将绕过该问题。

许振海
2023-03-14

截断您的迁移相关表,即Database asechangelog

 类似资料:
  • 我在本地有一个引导corda网络,并将这些工件分发给相应的VM。当我启动其中一个节点时,我收到以下错误:我使用azure sql作为后端,并且使用corda Enterprise 4.3编译了jar,并且使用的数据库驱动程序是jdbc 6.4。 IntelliJ项目目标设置为仅Javajdk 1.8。 基本信息。-数据库连接url是< br> : jdbc:sqlserver://

  • 只是尝试使用Express服务器执行签名和验证JSON Web令牌的基本实现,但“验证”函数不断返回“无效令牌”错误。 当将生成的令牌从/路由粘贴到jwt.io调试器中时,它最初会说“无效签名”,但当我选中“秘密是base 64编码的”复选框时,调试器会验证签名,因此我尝试了base 64编码/解码我的秘密在签名和验证端,但没有任何工作。 我目前正在使用名为“REST Client”的VS代码扩充

  • liquibase变更集校验和的生成是否考虑了主机名或其他问题? 我有一个问题是我在部署服务器上的特定数据库上运行了liquibase。但是,当我从本地机器(对同一个数据库)重新运行同一组changelogs时,liquibase试图重新执行变更集,因此抛出诸如“Table已经存在”之类的错误,而实际上我希望它检测到它们已经运行并跳到新的变更集。 谢了。

  • 在尝试启动节点后,出现以下错误。js。有人知道下面错误的可能解决方案吗。我没用过node。根本没有。请帮忙! http://i.stack.imgur.com/eri49.png

  • 我试图在我的项目中使用Hibernate验证器,但它不起作用。在以下行: 我得到以下例外情况: 我发现这个问题似乎与我的问题很相似。他将他的解决方案描述为 我想我的问题也是一样的。在http://hibernate.org/validator/documentation/getting-start/it上说: 这会传递地引入对Bean验证API的依赖关系(javax.Validation:vali

  • 我有一个具有两个节点的网络: 运行Corda Enterprise 3 运行Corda(开源)3的NodeB 当使用Corda Finance CorDapp将现金转移到时,我得到了不支持。 如果Finance CorDapp是针对Corda Enterprise 3.2编译的,我会得到以下堆栈跟踪: org_apache_activemq_artemis_api_core_client_Mess