Как использовать новый созданный пользовательский тип схемы Postgres (ENUM) в Yii2 - PullRequest
0 голосов
/ 27 июня 2018

Использование Postgres с Yii2 создало новый тип ENUM в postgresql с

createCommand("CREATE TYPE colorEnum AS ENUM ('red', 'black', 'white'););

Как я могу использовать его тогда в классе Yii2 Migrate при создании таблицы, например:

$this->createTable('myTable’, [
            'color' =>  'what should go here?'

1 Ответ

0 голосов
/ 28 июня 2018

Должно работать любое из следующего, включая то, что @ 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');
}
...