AlexMaxTM
@AlexMaxTM

Как создать поле JSON в миграции для MySQL?

Всем привет!
Yii2
В миграции в методе safeUp() создаю таблицу для MySQL.
$this->createTable('mytable', [
            'id' => $this->primaryKey(11)->unsigned(),
            'field_1' => $this->string(32)->notNull()->unique(),
            'field_2' => $this->string(100)->notNull()->unique(),
            'status' => $this->smallInteger(3)->notNull()->unsigned()->defaultValue(1),
            'dt_create' => $this->dateTime()->notNull(),
            'dt_update' => $this->dateTime()->notNull(),
            'param' => 'JSON NOT NULL', // Тут нужно создать поле типа  JSON 
        ], $tableOptions);

Строка
'param' => 'JSON NOT NULL',
выглядит как костыль, а как сделать это правильно?
  • Вопрос задан
  • 504 просмотра
Пригласить эксперта
Ответы на вопрос 2
slo_nik
@slo_nik Куратор тега Yii
Доброй ночи.
В документации нет такого типа поля.
Делайте string()->notNull();
Ответ написан
@Ramoder
Поищите сторонние расширения. Например, для postgre есть https://github.com/Tigrov/yii2-pgsql, который позволят нормально работать с json, думаю для mysql тоже есть. Но я согласен с matperez - 'param' => 'JSON NOT NULL', это корректное решение.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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