CakePHP迁移创建新表会导致重复的列名称

时间:2017-02-27 22:10:17

标签: php mysql cakephp migration phinx

我使用以下命令在CakePHP 3上创建了一个新的迁移脚本

bin/cake bake migration CreateOfficialTeams id:int name:string topic_id:int

id字段应该是主键,topic_id是外键。脚本出来就像我想要的那样,除了topic_id由于某种原因是一个字符串,但我手动修复它。

当我尝试运行脚本时,我收到一条错误说明:

Exception: SQLSTATE[42S21]: Column already exists: 1060 Duplicate column name 'id' in [/home/bradygp/workspace/vendor/robmorgan/phinx/src/Phinx/Db/Adapter/PdoAdapter.php, line 306]
2017-02-27 21:52:16 Error [PDOException] SQLSTATE[45S21]: Column already exists: 1060 Duplicate column name 'id'

我的其他表的列名为' id',但这是一个新表,使用create()函数调用,

2 个答案:

答案 0 :(得分:0)

删除ID。 ID列会自动创建,因此您无需编写它 bin / cake bake migration CreateOfficialTeams name:string topic_id:int

答案 1 :(得分:0)

将隐式添加名为id的主键列。 CakePHpp 3 有关更多详细信息,请访问 Cakephp Migration overview