从Cake 1.3迁移到2.0及更高版本 - 迁移现有的,或仅用于新的?

时间:2011-06-08 13:19:55

标签: cakephp migration cakephp-1.3 database-migration cakephp-2.0

我已经接近完成我的第一个CakePHP驱动的网站,只是看到他们已经在使用CakePHP 2.0(还没有稳定版本)。

我的问题:

  • 转移到新版本的CakePHP(当它成为“稳定”版本时)是否非常耗费时间?我知道他们有迁移指南,但是 - 我以前从未使用过框架,所以我从来没有迁移任何东西。

  • 您是否迁移现有项目的代码,或保留原样并仅将新的稳定版本用于未来的项目?

  • 我在哪里可以找到我目前安装的CakePHP版本?我查看了LICENSE和VERSION文件,但找不到其中列出的已安装/当前版本。

这些似乎是简单的问题,但我非常感谢任何想法/建议 - 在谷歌上搜索这个只是提示如何迁移页面,而不是利弊......等等。

3 个答案:

答案 0 :(得分:18)

我已将CakePHP 1.2中的一些站点迁移到1.3。根据我的经验,在拥有5-10个控制器且没有自定义插件等的网站上需要2-3个小时。我发现我通常只需更改一些函数调用的语法,当我找出哪些函数时,这只是在网站上进行查找/替换的问题。当然,从1.3到2.0可能会出现更多问题,但我并不认为这将是一个特别激烈的API变化。

更新:我现在正在迁移到CakePHP 2.0测试版,并认为我应该更新它,因为我发现更新比我更广泛和深远假设我写这篇文章。迁移指南:https://github.com/cakephp/docs/blob/master/en/appendices/2-0-migration-guide.rst

另一个更新:由于人们似乎发现这很有用,我只是想我会指出Cake现在提供了一个升级shell,可以为您完成一些工作。请注意,虽然文档说它将完成“大部分”工作,但我发现仍有相当多的函数调用等需要手动更新(请参阅迁移指南)。 http://book2.cakephp.org/en/console-and-shells/upgrade-shell.html

正如dhofstet所说,这将取决于您网站的规模和复杂程度。

是否完全升级通常是一个判断调用,但有时你必须(例如,Cake 1.2有一些代码会在主机升级到PHP 5.3时中断)。您肯定不会遇到旧的WordPress,Drupal等安装会遇到的安全问题。我已经看到Cake升级有一些明显的速度增加,所以根据情况,它可能是值得的麻烦(Cake 2.0最终下降PHP 4支持)。查看发行说明,看看新版本中是否有适合您的内容。

要查看您的版本,请在cake/VERSION.txt文件中查看最后一行。很容易错过,但它应该只是一个数字,例如1.3.8

答案 1 :(得分:1)

  1. 这个问题很难回答,因为它取决于项目的规模和复杂程度。 “大”版本(从1.1 - > 1.2,1.2 - > 1.3,1.3 - > 2.0)通常会破坏内容,因此您必须预算一些迁移工作。另一方面,“较小”版本之间的迁移(例如从1.3.9到1.3.10)通常很容易,通常只是替换cake文件夹。在这两种情况下,进行测试都很有用。
  2. 我迁移了积极维护的项目。
  3. 您可以在cake/config/config.php
  4. 中找到CakePHP版本

答案 2 :(得分:0)

我正在迁移app 1.3»2.0rc1,我没有遇到大麻烦。

  1. 我不得不更改文件夹/文件的名称,例如。 app_controller.php»Controller / AppController.php
  2. 按照迁移链接(tmp链接)http://book2.cakephp.org/en/appendices/2-0-migration-guide.html
  3. 进行操作 来自各种来源的
  4. 插件/组件/ ..将无效(在零点,对于第1点)
  5. 要更新代码(在我的情况下,因为应用程序运行良好,我不需要)我已经对一个虚拟表进行了shell烘焙并查看了代码中的差异。这是一个很好的起点
  6. 某些配置中的身份验证/授权已更改,但只需进行少量更改。
  7. 树木仍在工作
  8. Acl没有。但我很确定这是我的错。
  9. 现在一切都好,干得好!