Тип mediumint(MySql) в миграции

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
sava2019
Сообщения: 2
Зарегистрирован: 2018.08.01, 12:09

Тип mediumint(MySql) в миграции

Сообщение sava2019 »

Есть ли какая-то возможность создавать таблицы с полями типа MEDIUMINT в миграции?
Насколько я вижу, в yii2/db/Schema.php такого типа не предусмотрено. Почему так сделано?
Что делать, если нужно использовать такой тип?
Аватара пользователя
proctoleha
Сообщения: 298
Зарегистрирован: 2016.07.10, 19:00

Re: Тип mediumint(MySql) в миграции

Сообщение proctoleha »

sava2019 писал(а): 2018.12.28, 16:33 Есть ли какая-то возможность создавать таблицы с полями типа MEDIUMINT в миграции?
Насколько я вижу, в yii2/db/Schema.php такого типа не предусмотрено. Почему так сделано?
Что делать, если нужно использовать такой тип?
Если чего-то нет в каком-либо фреймворке, то надо писать это руками. Применительно к к yii2, к миграциям, есть возможность выполнить произвольный sql код:

Код: Выделить всё

$this->execute('my_sql_code');
Вот за что я не люблю линукс, так это за свои кривые, временами, руки
chesar
Сообщения: 514
Зарегистрирован: 2013.04.10, 17:49

Re: Тип mediumint(MySql) в миграции

Сообщение chesar »

sava2019 писал(а): 2018.12.28, 16:33 Насколько я вижу, в yii2/db/Schema.php такого типа не предусмотрено. Почему так сделано?
Специфичные поля для конкретной БД, поэтому им не место в фреймворке.
sava2019 писал(а): 2018.12.28, 16:33 Что делать, если нужно использовать такой тип?
Билдер строит обычную строку. Напиши строку с типом поля без билдера

Код: Выделить всё

 $this->createTable($this->groupTable, [
           ...
            'sort' =>  'mediumint not null default 10050',
        ]);
Ответить