簡體   English   中英

使用 Phinx Migrate 添加“枚舉”MySQL 字段類型

[英]Adding a 'enum' MySQL field type with Phinx Migrate

我正在嘗試在 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();

不幸的是,也沒有簡單的方法讓 Phinx 輸出有問題的 SQL 查詢。

使用 master 的最新版本(0.5.x-dev 以上):

$this->table('my_table')
->addColumn('status', 'enum', ['values' => ['enabled', 'disabled']])
->save();

也許對其他人來說,還有另一種添加 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();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM