LWC属性变化时的一种处理方法
LWC(Lightning Web Component)的属性name, role发生变化,或者要删除某个属性时,Salesforce会自动检查是否有Flow引用这个lwc,如果有,则会提示,不能删除。手工操作,需要在Flow中先去掉这个lwc,然后发布修改后的lwc,再在Flow中加回去。问题是Flow往往有好几个版本(version),一个个地手工调整,非常麻烦,几乎不可能。所以以前碰到这种情况,只好弃用原来的属性,另外添加一个。
今天忽然想到可以利用sfdx,实现一定程度的简化操作。具体办法是:
1.用sfdx force:source:retrieve -m “Flow:foo-1” -r c:\bar将冲突的Flow版本下载到本地目录。这里的-1是Flow的版本号。也可以用最新的sf命令,格式差不多,sf force source retrieve -m “Flow:foo-1” -r c:\bar。文档上说推荐用sf project retrieve start,但是下载的是zip文件,并不方便。注意最新版本即使指定了版本号,下载后也会自动去掉版本号,需要手工补上。
2.手工删除冲突的Flow版本。这个本来也能用命令实现,但是如果Flow已经激活或者有interview在运行则不可以,所以还是手工删除比较方便,编程自动操作需要考虑很多情况,比较麻烦。如果Flow的所有版本都有冲突,可以直接删除Flow本身。
3.上传修改后的lwc。
4.用sf project deploy start -d c:\bar\flows一次性上传所有的Flow版本,如果整个Flow已被删除,会自动重建,并保留原来的版本号。注意最新的版本一定要手工补上版本号。
当然,在此基础上,可以进一步用VBScript, PowerShell等编程,提高自动化程度。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2022-04-29 监视网页变化