Mudanças entre as edições de "Usando enum com Symfony e Doctrine"
De Basef
Linha 9: | Linha 9: | ||
O mapeamento é feito no arquivo app/config/config.yml. Basta adicionar o seguinte dentro de doctrine.dbal: | O mapeamento é feito no arquivo app/config/config.yml. Basta adicionar o seguinte dentro de doctrine.dbal: | ||
− | <source lang=" | + | <source lang="ini"> |
mapping_types: | mapping_types: | ||
enum: string | enum: string | ||
Linha 16: | Linha 16: | ||
Segue abaixo um exemplo de configuração completa da seção doctrine: | Segue abaixo um exemplo de configuração completa da seção doctrine: | ||
− | <source lang=" | + | <source lang="ini"> |
# Doctrine Configuration | # Doctrine Configuration | ||
doctrine: | doctrine: |
Edição das 07h34min de 3 de maio de 2016
O Symfony não suporta enums e o seguinte erro é gerado ao tentar executar um comando do doctrine pelo console do Symfony:
[Doctrine\DBAL\DBALException] Unknown database type enum requested, Doctrine\DBAL\Platforms\MySqlPlatform may not support it.
Para solucionar este problema é necessário mapear o tipo `enum` para `string`. O mapeamento é feito no arquivo app/config/config.yml. Basta adicionar o seguinte dentro de doctrine.dbal:
mapping_types: enum: string
Segue abaixo um exemplo de configuração completa da seção doctrine:
# Doctrine Configuration doctrine: dbal: driver: pdo_mysql host: "%database_host%" port: "%database_port%" dbname: "%database_name%" user: "%database_user%" password: "%database_password%" charset: UTF8 mapping_types: enum: string set: string varbinary: string tinyblob: text