升级部署和修改

升级部署和修改

1 存在的问题

由于之前同步数据库中的数据的时候,没有谨慎的考虑到表的owner不是当前登录用户,所以在同步表的时候,没有加上schema,根本上说就是当前登录用户和schema不对应造成的。

首先我们在global中添加一个常量,由key指向value,yditywbyh=ITSMUSE.,然后再在需要用到schema的代码段中取出这个常量,如下

final static String SERVICE_BYH = Global.getConfig("yditywbyh");

之后,在需要用到这个schema的地方,使用这个类的常量替代即可

2 增量升级

增量更新是指在进行更新操作时,只更新需要改变的地方,不需要更新或者已经更新过的地方则不会重复更新,增量更新与完全更新相对

此次更新就属于增量更新,我们只修改了Login.java类和DbInfo这两个类,所以在升级的时候,只需要更新这两个类即可。后续的升级操作可能会有表单的修改,此时就需要更新数据库部分。

增量升级需要铭记一点:每次更新需得记清楚自上次更新之后到本次升级之间,所有修改的地方都是需要重新同步的,也就是在这之间,程序的哪些地方被修改过,都是需要我们升级的

3 升级的log记载

升级的日志书写,一方面是为了记录升级的具体内容,另一方面也是为了下次升级得时候可以借鉴的地方,知道哪些内容被修改过,而其也是我们工作的凭证。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java SDK 提供了 `ChaincodeDeploymentSpec` 类来描述合约的部署信息。在升级合约时,需要修改合约代码并重新打包成 jar 包,然后使用新的代码部署新版本的合约。 以下是升级合约的基本步骤: 1. 修改合约代码,生成新的 jar 包。 2. 创建 `ChaincodeDeploymentSpec` 对象,设置新版本合约的名称、路径、语言类型、背书策略等信息。 3. 调用 `Channel` 对象的 `sendUpgradeProposal` 方法向节点发送升级合约的建议,并等待节点响应。 4. 如果节点响应成功,则调用 `Channel` 对象的 `sendTransaction` 方法提交交易,并等待交易确认。 以下是升级合约的示例代码: ``` // 创建新版本合约的部署规范 ChaincodeDeploymentSpec spec = ChaincodeDeploymentSpec.newBuilder() .setChaincodeName("mycc") .setChaincodePath("C:\\codeSource\\agriculture\\sdk\\chaincode") .setChaincodeVersion("2.0") .setChaincodeLanguage(Type.JAVA) .setProposalWaitTime(60000) .setTransientMap(transientMap) .setEndorsementPolicyFile("C:\\codeSource\\agriculture\\sdk\\chaincode\\src\\basicInfo\\chaincodeendorsementpolicy.yaml") .build(); // 向节点发送升级合约的建议 TransactionProposalRequest request = client.newTransactionProposalRequest(); request.setChaincodeUpgradeSpec(spec); request.setProposalWaitTime(60000); Collection<ProposalResponse> responses = channel.sendUpgradeProposal(request); // 提交交易并等待确认 channel.sendTransaction(responses); ``` 需要注意,升级合约时需要保证新版本的合约与旧版本的合约兼容,否则可能会导致节点无法正常运行。在部署新版本合约之前,建议先进行充分的测试和验证。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值