Hyperledger fabric Hyperledger composer升级业务网络

Hyperledger fabric Hyperledger composer升级业务网络,hyperledger-fabric,hyperledger,hyperledger-composer,Hyperledger Fabric,Hyperledger,Hyperledger Composer,假设我有一个商业网络v1.0.0,它有一个具有以下模型的参与者: participant Member identified by memberId { o String memberId o String firstName } 部署网络后,我创建了一个成员 稍后,我想向成员模型添加一个字段。例如 participant Member identified by memberId { o String memberId o String firstName o

假设我有一个商业网络v1.0.0,它有一个具有以下模型的参与者:

participant Member identified by memberId {
   o String memberId
   o String firstName
}
部署网络后,我创建了一个成员

稍后,我想向成员模型添加一个字段。例如

participant Member identified by memberId {
   o String memberId
   o String firstName
   o String lastName
}
因此,我创建了新网络并升级了以前的网络:

composer network upgrade -c peeradmin@hlfv1 -n example-netowrk -V 2.0.0

我以前创建的成员会发生什么情况?它被删除了吗?如何将其保留在系统中,并继续使用它并仅通过添加lastName更新其信息?

此处的文档中描述了模型定义的演变过程
并且应该回答您的问题。

当您更改模型时,您的api也将更改以反映更改。您的数据不会消失,不会因为它在分类账上而消失,但不会有您添加的新字段

部署新模型后,您可以向该资产发出GET请求,这将为您提供所有现有数据,您可以使用所需内容填充新字段,并向该资产发出PUT请求。这将为您提供一个包含新数据的旧资产


当然,我建议您仔细考虑如何更改现有资产。我在想一个政策,说你不应该重命名任何东西,你不应该删除任何东西。您所要做的就是添加新属性。如果您开始乱动重命名和删除,这肯定会导致问题,尤其是在生产环境中。

知识维基中还有一些详细信息: