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 08h34min 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: stringSegue 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