使用带有Yii2的Postgres,使用
在postgresql中创建了一个新的ENUM
类型
createCommand("CREATE TYPE colorEnum AS ENUM ('red', 'black', 'white'););
创建表时,如何在Yii2 Migrate类中使用它,例如:
$this->createTable('myTable’, [
'color' => 'what should go here?'
答案 0 :(得分:2)
以下任何一种方法都可以使用,包括@ rob006提出的建议:
public function safeUp()
{
$this->execute("CREATE TYPE colorEnum AS ENUM ('red', 'black', 'white')");
$this->createTable('myTable', [
"color0" => "colorEnum",
"color1" => "colorEnum default 'black'",
"color2" => $this->getDb()->getSchema()->createColumnSchemaBuilder("colorEnum default 'black'"),
];
// ...
}
public function safeDown()
{
// ...
$this->execute('DROP TYPE colorEnum');
}