cakephp - cakephp 从 2.10 升级到 3.x
问题描述
我需要将项目从 2.10 升级到 3.x。
我正在使用官方迁移工具https://book.cakephp.org/3/en/upgrade-tool.html,使用以下命令:
bin/cake upgrade all
即使这做了一些更改,它也会以无法使用的安装结束,并出现各种致命错误。
我知道需要采取手动步骤,但我无法在任何地方找到它们的文档。
我的问题是:
是否有关于所需步骤的指南?
该工具实际上并未将版本更新到 3.0。这是我需要做的如下。这个对吗?我应该在运行迁移工具之前还是之后更新?
$ 作曲家需要 cakephp/cakephp:^3.0
我是否也需要运行该
bin/cake upgrade skeleton
命令?Fe 这将创建 /src 和 /webroot 文件。我应该先运行这个吗?最后是否需要进行任何清理,因为该工具也会离开旧结构。
解决方案
在这个宇宙中可能没有任何 2.x 应用程序可以自动升级为工作的 3.x 应用程序,您仍然需要手动修复和迁移大部分应用程序代码和配置,升级工具真的只是可以为您完成一些重复性任务的助手。
强烈建议您首先熟悉 CakePHP 3.x,直到您有信心使用它创建可靠的工作应用程序,这将帮助您解决迁移过程中可能出现的许多问题,并将提高您迁移的应用程序的质量!
话虽如此:
我不知道任何详尽的指南(这并不意味着没有),但是您可以很容易地找到人们写他们的升级经历,例如https://www.dereuromark.de/2015/06/ 06/cakephp-3-0-migration-notes
该工具不会更新 CakePHP 依赖项,不会。它希望您自己编写应用程序,并且您自己升级依赖项,它不可能解决升级核心时可能出现的依赖项冲突。
理想情况下,首先或最后升级依赖项并不重要,但为了安全起见,您应该在运行升级工具后进行。
您不必运行
skeleton
任务,如果您知道自己在做什么,也可以手动从 3.x 应用程序框架中复制文件 - 无论如何,这些文件是必需的,毕竟应该添加它们其他任务已运行,您不希望任何任务更改这些文件的代码。请注意,该skeleton
任务将覆盖您的一些文件,例如bootstrap.php
和routes.php
!是的,您必须自己清理可能的残留物。
推荐阅读
- c# - 实体框架 6 中的更新数据库命令不起作用
- javascript - JavaScript 生成器及其原型链
- android - ViewModel 正在为 recyclerview 复制项目
- mysql - 按客户选择,他最近的订单中最贵的产品名称
- reactjs - 使用 React 重定向到另一条路线
- postgresql - 无法找到或构造 Param[shapeless.::[String,shapeless.::[io.circe.Json,shapeless.HNil]]]
- oracle - PL/SQL 语句被忽略
- excel - VBA Excel在多行中水平对齐图片
- typescript - 如何在 `UploadedFile | 上进行模式匹配 上传文件[]`
- javascript - 将访问令牌与 Reactjs 前端一起使用