SuperAPI AI 工具集

cakephp-migration

通用与其它

查看项目

更新于 10-15 17:24

技能介绍

用途:该技能是面向 baserCMS 的 CakePHP 版本升级指南与修正配方集,按版本整理升级中遇到的破坏性变更与弃用写法,用于迁移排查和修复。PHP 本体相关(如隐式 nullable、动态属性)由 php-migration 技能处理。

主要能力:收录 5.0→5.1、5.1→5.2 的变更与修复配方。5.1 部分含 Query::order()/group() 改为 orderBy()/groupBy()、find('all', $options) 数组传参弃用、分页结果改为 PaginatedResultSet(需先调 items())、翻译缓存配置重命名。5.2 部分含事件监听器返回值弃用、关联与验证规则重名改为抛异常、ResultSet 类型与不可 clone、数组条件 null 值抛异常、插件重复加载抛异常、FormProtection 的 _Token not found(postLink 正则需兼容 requestSubmit())、TreeBehavior 根节点 parent_id 处理、Table::get() 命名参数、Entity 数组批量设置改用 patchEntity()、method_exists 改用 is_callable 等。另含 cakephp/migrations 4.5+ 的 BaseMigration/BaseSeed 与新适配器 API,以及版本无关的实践(返回 Response、路由 fallbacks、时间比较等)。

使用方式:升级用 composer require(如 composer require cakephp/cakephp:"5.2.*" --update-with-dependencies),不用 composer update;用 logs/debug.log 与 logs/error.log 区分致命错误与弃用警告;按异常聚合归类根因,区分迁移回归与测试/环境原因;参考 basercms-unittest 技能执行单元测试。命令与代码保持资料原样。

适用场景:baserCMS 项目跨 CakePHP 版本升级、测试大量失败时的根因定位与修复。

限制:仅聚焦上述版本范围与 baserCMS 相关场景;具体收费、平台、效果等资料暂未提供。