使用 Phinx Migrate 添加 'enum' MySQL 字段类型
Adding a 'enum' MySQL field type with Phinx Migrate
我正在尝试在 Phinx 中创建一个迁移(实际上是一个回滚),它将在 MySQL 数据库中创建一个枚举类型字段。读完 docs 我觉得这应该很简单,但每次都失败。
$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):
$this->table('my_table')
->addColumn('status', 'enum', ['values' => ['enabled', 'disabled']])
->save();
也许对于其他人来说 another way 添加 ENUM 列会很有趣
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();
我正在尝试在 Phinx 中创建一个迁移(实际上是一个回滚),它将在 MySQL 数据库中创建一个枚举类型字段。读完 docs 我觉得这应该很简单,但每次都失败。
$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):
$this->table('my_table')
->addColumn('status', 'enum', ['values' => ['enabled', 'disabled']])
->save();
也许对于其他人来说 another way 添加 ENUM 列会很有趣
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();