添加一个';枚举';使用Phinx迁移的MySQL字段类型
我试图在Phinx中创建一个迁移(实际上是回滚),它将在MySQL数据库中创建一个枚举类型字段。读了这篇文章后,我的印象是这应该很简单,但每次都失败了添加一个';枚举';使用Phinx迁移的MySQL字段类型,mysql,enums,migration,phinx,Mysql,Enums,Migration,Phinx,我试图在Phinx中创建一个迁移(实际上是回滚),它将在MySQL数据库中创建一个枚举类型字段。读了这篇文章后,我的印象是这应该很简单,但每次都失败了 $table = $this->table('mytable'); $table->addColumn('warmth','enum', array('limit' => array('1', '2', '3', '4', '5', 'P', 'A', 'B', 'C', 'D', 'X', 'N'))) ->save()
$table = $this->table('mytable');
$table->addColumn('warmth','enum', array('limit' => array('1', '2', '3', '4', '5', 'P', 'A', 'B', 'C', 'D', 'X', 'N')))
->save();
不幸的是,也没有简单的方法让Phinx输出有问题的SQL查询。使用master的最新版本(高于0.5.x-dev):
也许对其他人来说,添加枚举列会很有趣
use Phinx\Db\Adapter\MysqlAdapter;
use Phinx\Db\Table\Column;
$this->table('posts')
->addColumn(
(new Column())
->setName('status')
->setType(MysqlAdapter::PHINX_TYPE_ENUM)
->setValues([
'draft', 'publish', 'private', 'trash',
])
)
->update();
对于那些关心的人来说,
set
列类型也是如此。
use Phinx\Db\Adapter\MysqlAdapter;
use Phinx\Db\Table\Column;
$this->table('posts')
->addColumn(
(new Column())
->setName('status')
->setType(MysqlAdapter::PHINX_TYPE_ENUM)
->setValues([
'draft', 'publish', 'private', 'trash',
])
)
->update();