cakephp 3.0 升级工具 - 无法理解文档 - 在哪里安装工具 - 要升级的文件夹 - 在哪里?

cakephp 3.0 upgrade tool - Trouble understanding docs - Install tool where - folder to upgrade - where?

我正在尝试将 100 个模型 + 数百个控制器和视图从 cakephp 2.6.7 转换为 cakephp 3.0.7.

我已经使用升级 shell 工具尝试了以下操作:

首先...我已经在 E:\my-app 中了!

第二...在 运行 执行 "cake upgrade locations E:\my-app"(第一个任务命令)后,没有任何修改,也没有移动任何文件。事实上,如果我 运行 文档中列出的每个命令并且从不使用 "all" 命令,则 \src 文件夹几乎是空的。它确实包含一个模板文件夹!

\app 文件夹仍然包含所有控制器、视图、模型。

没有表、实体等

关于我需要以不同方式看待的内容,我可以使用一些提示。如有任何帮助,我们将不胜感激。

首先,升级shell是一个独立的应用程序,您应该单独安装它,即在一个单独的文件夹中(例如E:\cakephp-upgrade\), 在您的项目文件夹中!此外,当使用 all 命令时,不需要再次 运行 各个命令,如果您必须这样做,它会使 all 命令变得毫无用处。

也就是说,未移动文件的问题源于两个问题

  1. 传递给升级的路径shell必须以目录分隔符结尾,否则shell在某些时候会使用双分隔符,因为在路径 when the root is being stripped from it (https://github.com/cakephp/upgrade/issues/89).

  2. 当不使用GIT时,需要移动和更改文件,那么文件没有写入正确的目标路径,but to the source path (https://github.com/cakephp/upgrade/issues/90).

report this as an issue过来GitHub。

不幸的是,GIT 用法似乎也有问题 (https://github.com/cakephp/upgrade/issues/88),但我现在懒得追查了。因此,在这一切都得到解决之前,您应该能够通过手动 运行ning all 命令来解决这些问题,这样文件首先被移动,这似乎工作正常.

因此,假设升级应用程序安装在 E:\cakephp-upgrade\,而您的项目在 E:\my-app,那么您会做

E:
cd cakephp-upgrade
bin\cake upgrade locations E:\my-app\
bin\cake upgrade namespaces E:\my-app\
bin\cake upgrade app_uses E:\my-app\
bin\cake upgrade rename_classes E:\my-app\
bin\cake upgrade rename_collections E:\my-app\
bin\cake upgrade method_names E:\my-app\
bin\cake upgrade method_signatures E:\my-app\
bin\cake upgrade fixtures E:\my-app\
bin\cake upgrade tests E:\my-app\
bin\cake upgrade i18n E:\my-app\
bin\cake upgrade prefixed_templates E:\my-app\
bin\cake upgrade skeleton E:\my-app\