2016-08-18 2 views
5

У меня есть миграция в Yii2, где я пытаюсь создать таблицу. Я устанавливаю набор символов для таблицы, но я не знаю, как установить кодировку для конкретного столбца.Как установить кодировку в конкретный столбец при миграции Yii2

Например:

$this->createTable('some_table', [ 
      'column_1' => $this->string(64)->notNull(), 
      'column_2' => $this->integer()->notNull(), 
      'column_3' => $this->integer(), 
     ], 'CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB'); 

В коде выше я хочу, чтобы установить кодировку "utf8-юникод-CI" для column_1. Как это сделать?

ответ

4

Используйте append().

$this->createTable('some_table', [ 
    'column_1' => $this->string(64)->notNull()->append('CHARACTER SET utf8 COLLATE utf8_unicode_ci'), 
    'column_2' => $this->integer()->notNull(), 
    'column_3' => $this->integer(), 
], 'CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB'); 

Это просто пример? Потому что вам не нужно устанавливать кодировку для одного столбца, когда она такая же, как для всей таблицы.

Смежные вопросы