Комментарий к полю в миграции

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

Комментарий к полю в миграции

Сообщение jakiro »

Всех приветствую. Как можно добавить коммент на поле в сreateTable методе?

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

$this->createTable('{{%regions}}', [
      'id' => $this->primaryKey(),
      'name' => $this->string(),
    ], $tableOptions);
Вот на поле name. Да, можно использовать отдельный метод addCommentOnColumn
Но я посмотрел внутри метода сreateTable можно передать экземляр класса ColumnSchemaBuilder с полем comment

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

public function createTable($table, $columns, $options = null)
    {
        echo "    > create table $table ...";
        $time = microtime(true);
        $this->db->createCommand()->createTable($table, $columns, $options)->execute();
        foreach ($columns as $column => $type) {
            if ($type instanceof ColumnSchemaBuilder && $type->comment !== null) {
                $this->db->createCommand()->addCommentOnColumn($table, $column, $type->comment)->execute();
            }
        }
        echo " done (time: " . sprintf('%.3f', microtime(true) - $time) . "s)\n";
    } 
т.е. вместо $this->string() я могу передать объект, вместе с комментарием, но ума не хватает(
rak
Сообщения: 2181
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: Комментарий к полю в миграции

Сообщение rak »

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

$this->createTable('{{%regions}}', [
      'id' => $this->primaryKey(),
      'name' => $this->string()->comment('test'),
    ], $tableOptions);
 
jakiro писал(а): т.е. вместо $this->string() я могу передать объект, вместе с комментарием, но ума не хватает(
$this->string() как раз и возвращает объект класса ColumnSchemaBuilder
jakiro
Сообщения: 553
Зарегистрирован: 2013.03.05, 15:15

Re: Комментарий к полю в миграции

Сообщение jakiro »

rak писал(а):

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

$this->createTable('{{%regions}}', [
      'id' => $this->primaryKey(),
      'name' => $this->string()->comment('test'),
    ], $tableOptions);
jakiro писал(а): т.е. вместо $this->string() я могу передать объект, вместе с комментарием, но ума не хватает(
$this->string() как раз и возвращает объект класса ColumnSchemaBuilder
Да, я это тоже заметил, вот как то надо умудритсья так, чтобы тип с комментарием передать :) Исключительно технический интерес
rak
Сообщения: 2181
Зарегистрирован: 2010.11.02, 23:40
Контактная информация:

Re: Комментарий к полю в миграции

Сообщение rak »

jakiro писал(а): Да, я это тоже заметил, вот как то надо умудритсья так, чтобы тип с комментарием передать :) Исключительно технический интерес
Так я ж вверху и привел код как комментарий передать ;)
jakiro
Сообщения: 553
Зарегистрирован: 2013.03.05, 15:15

Re: Комментарий к полю в миграции

Сообщение jakiro »

rak писал(а):
jakiro писал(а): Да, я это тоже заметил, вот как то надо умудритсья так, чтобы тип с комментарием передать :) Исключительно технический интерес
Так я ж вверху и привел код как комментарий передать ;)
А, блин)) Спасибо. Я думалю будет сложнее
Ответить