从 v1 迁移到 v2 期间,我们是否需要执行 DML 命令,例如插入 Corda 状态模式的 liquibase 脚本?

问题描述 投票:0回答:1

想象一下,我在我的 CarV2 状态(版本 2)中添加了一个名为 token 的新字段,并且假设填充的令牌的值应该是 existing 字段值 = carNo+10。

我的思考过程是在 CarV2 State 版本 2 的 liquibase schema 脚本中,我们只需要添加一个新列,需要填充到 schema 表中的数据将在 Corda 内的 State Migration 事务中处理(意味着迁移中的新状态) CarStateV2 的 txn 可以用这个逻辑创建)。

这是正确的吗? 或者我是否需要在版本2本身的liquibase脚本中的列添加变更集之后添加一个DML操作命令来实现这个(carNo+10)逻辑?

blockchain liquibase corda
1个回答
0
投票

我在slack通道验证的迁移场景的理解是:

Case1:如果添加的字段存在于状态和模式表中(意味着它们之间存在映射),则版本 2 发布的数据填充逻辑应在 statev1 到 v2 的 corda 事务中处理,并随之而来该模式表数据也将被更新。 (那么 v2 不需要任何 liquibase dml 脚本)

案例2:如果我们需要单独在模式表中添加和填充某些字段。未在状态中映射,则其版本 2 发布的数据填充应在 liquibase version2.xml 文件中使用正确的逻辑进行处理。

© www.soinside.com 2019 - 2024. All rights reserved.