2016-05-20 8 views
2

Ich habe eine Frage;CakePHP 3 Migration fehlt enum

Hat jemand Erfahrung mit dem Migrieren einer Tabelle mit dem CakePHP 3 Migration Tool, wenn ein bestimmtes Feld ein ENUM-Datentyp ist, konvertiert das Migrationsscript es automatisch in Zeichenfolge oder Text.

Wie kann ich es vermeiden und wie kann ich den Datentyp von ENUM beibehalten?

Dank

Antwort

2

Es ist auf den Fahrer im Einsatz abhängt, da enumnot supported by all database systems ist. Für den MySQL-Treiber führt die Verwendung des Typs enum zu der entsprechenden DDL.

Migration Klasse:

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`) 
) 

Im Phinx package ist enum nur in dem MysqlAdapter.