2016-08-18 10 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'); 

私はCOLUMN_1のための文字セット "のutf8-ユニコード-CI" に設定します。 どうすればいいですか?

答えて

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'); 

これは単なる例ですか? 1つの列に対して文字セットを設定する必要はないので、テーブル全体と同じです。

関連する問題