dilikpulatov
@dilikpulatov
веб-программист

Как правильно добавить тип данный в миграции(postgresql) Yii2?

Добрый день
Это пример файл миграции
public function safeUp() {
  $this->execute('DROP TYPE IF EXISTS users_status;');
  $this->execute("CREATE TYPE user_status AS ENUM ('active','inactive','blocked','deleted');");

  $this->createTable('{{%user}}', [
    'id'           => $this->bigPrimaryKey(),
    'status'       => 'user_status',
    'phone'        => $this->bigInteger(),
    'email'        => $this->string(50),
    'first_name'   => $this->string(30),
    'last_name'    => $this->string(30),
    'middle_name'  => $this->string(30),
    'password'     => $this->string(100),
    'create_at'    => $this->bigInteger(),
    'update_at'    => $this->bigInteger()
  ]);

  $this->createIndex('idx-user-status', '{{%user}}', 'status');
  $this->createIndex('idx-user-phone', '{{%user}}', 'phone');
  $this->createIndex('idx-user-email', '{{%user}}', 'email');
}


как добавить значение по умолчанию для поля status?
или есть вариант добавление тип данных проще чем мой?
  • Вопрос задан
  • 82 просмотра
Пригласить эксперта
Ответы на вопрос 1
@Arik
Может что такое:
'status' => new \yii\db\Expression('user_status default "active"'),


при таких миграциях хорошо бы проверять какой тип БД и если это не postgresql то кидать исключение.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы