Archive pour le mot-clef ‘enum’

Symfony2 : Unknown database type enum requested

mercredi 3 octobre 2012

Avec Symfony2 et Doctrine2, il se peut que vous rencontriez ce message d’erreur:

[Doctrine\DBAL\DBALException]
 Unknown database type enum requested, Doctrine\DBAL\Platforms\MySqlPlatform may not support it.

C’est que vous utilisez le type ENUM dans vos tables MySQL qui n’est pas compris par PDO. Le plus simple pour le résoudre : éditer le fichier config.yml et rajouter

mapping_types:
    enum: string

A la fin de la rubrique doctrine:dbal:

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

Il existe d’autres solutions proposées dans la documentation de Doctrine, mais plus complexes, tout dépendra de vos besoins.