正如@Redtopia 所说,“这取决于”。它很少是你可以从 CF x 升级到 CF z 的花瓶,在 x 和 z 之间有多个主要版本。您的应用程序有多大?不仅仅是代码库,还有功能集合?
至于“云”,请意识到这是一个营销术语,意思是“别人的电脑”。转换的那部分取决于许多事情本身。你也在从 Windows 转换到 Linux 吗?那会有额外的痛点。
例如,ColdFusion 10 从使用 JRun 切换到使用 Tomcat 作为底层 Java servlet 平台。从那时起,每个版本的 CF 都对 Tomcat 进行了升级。
有一些已弃用的标签可能仍然有效。许多内置的 JavaScript 库已经升级或完全关闭,所以如果您使用<CFFORM>
,有些可能有效,有些可能无效。CFchart 的工作方式与您的预期不同。
然后是 CF9 让你侥幸逃脱,后来的版本变得更加严格。标签属性不正确等。
如果您尝试转换为开源 CF 引擎 Lucee,您将需要做一些额外的工作来了解 CF Admin 与 Adobe CF Admin 的工作方式。大部分是相同的,但有足够的差异,你可以有一个额外的学习曲线的过程。
我们不要忘记,您还将大幅升级底层 JDK 的版本,这可能会带来额外的麻烦。
关于代码分析器,您可能会在那里遇到一些头疼的问题。我上次使用它从 CF 11 升级到 2018。我得到了无数的误报,它在标签属性 ( secure="true"
) 中寻找静态值,而你有一个变量集 ( secure="#isSecure#"
)。不确定他们是否采取了任何措施来解决这个问题。
最后,正如 Miguel 建议的那样,遵循迁移指南。但也要确保遵循ColdFusion 锁定指南来解决与新服务器安装有关的许多安全问题。
我已经多次这样做了,它很少像你希望的那样容易。底线是,您必须先对所有内容进行端到端测试,然后才能知道什么有效,什么无效,以及完成转换可能需要付出多少努力。