3

質問があります;

ENUM特定のフィールドがデータ型の場合、移行スクリプトが自動的に文字列またはテキストに変換するCakePHP 3 移行ツールを使用してテーブルを移行した経験のある人はいますか?

どうすればそれを回避でき、どのようにデータ型を維持できENUMますか?

ありがとう

4

1 に答える 1

3

はすべてのデータベース システムでサポートされてenumいるわけではないため、使用中のドライバーによって異なります。MySQL ドライバーの場合、型を使用すると、適切な DDL が生成されます。enum

移行クラス:

public function up()
{
    $table = $this->table('testenum');
    $table
        ->addColumn('enum_column', 'enum', [
            'values' => ['one', 'two']
        ])
        ->create();
}

DDL:

CREATE TABLE `testenum` (
  `enum_column` enum('one','two') NOT NULL,
  PRIMARY KEY (`id`)
) 

Phinx パッケージでは、enumMysqlAdapter にのみ存在します。

于 2016-05-25T08:49:58.493 に答える