【发布时间】:2016-02-24 17:45:03
【问题描述】:
我正在尝试找出如何最好地使用 CakePHP 迁移插件来修改 MySQL 表的现有列。我不需要添加或删除列,我只是想修改一个字符串列的长度。
目前该列定义为varchar(50);我正在重新利用该列并希望将其定义为varchar(2000)。
迁移的目标是成为自动部署的一部分,该部署发生在典型 Web 服务器上的标准 CakePHP Web 应用程序安装上。
据我所知,使用迁移插件完成此任务的唯一方法(ALTER 声明除外)似乎是:
- 重命名列
- 添加新列
- 将现有数据移动/复制到新列
- 删除旧列
也许我错过了文档和无数教程中的讨论,以及如何找到更好的方法来实现这一点,但这似乎是一种麻烦和自我挫败的方法。
我已经通过了CakePHP Migration Plugin's documentation 和Phinx's documentation,但我没有看到针对此更改的推荐方法。感谢您对此的任何意见。
【问题讨论】:
标签: php cakephp cakephp-3.0 database-migration phinx