La migliore strategia per migrare le enumerazioni mysql per doctrinere le entity framework; con symfony2?

Sono attualmente in fase di migrazione di un'app legacy a symfony2, il problema è che ho un sacco di colonne mysql enum, so che la doctrina non support i tipi di dati enum e che una soluzione è quella di archiviare come string ma io perderebbe davvero la capacità di ordinare correttamente i dati perché i varchar sono molto più lenti, ho un sacco di tabelle con i tipi di dati enum e la modifica dello schema sarebbe davvero difficile, quali sono le mie opzioni ?? Cosa puoi suggerire che renderà la transizione a symfony2 molto più fluida?

Hai due soluzioni

  • Soluzione 1: mapping a Varchars
  • Soluzione 2: definizione di un tipo

per maggiori informazioni consultare questo link: Mysql Enums doctrine

Prova questo ha funzionato per me

http://symfony.com/doc/current/reference/configuration/doctrine.html#reference-dbal-configuration

nel file app / config / config.yml aggiungere

mapping_types: enum: string 

per esempio sotto

 doctrine: dbal: driver: %database_driver% host: %database_host% port: %database_port% dbname: %database_name% user: %database_user% password: %database_password% charset: UTF8 mapping_types: enum: string 

quindi puoi usare ad es

 @ORM\Column(type="string", columnDefinition="ENUM('A', 'B')")