Mudanças entre as edições de "Usando enum com Symfony e Doctrine"
De Basef
(Criou página com 'O Symfony não suporta enums e o seguinte erro é gerado ao tentar executar um comando do doctrine pelo console do Symfony: <source src="bash"> [Doctrine\DBAL\DBALException]...') |
|||
| (3 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
| Linha 1: | Linha 1: | ||
O Symfony não suporta enums e o seguinte erro é gerado ao tentar executar um comando do doctrine pelo console do Symfony: | O Symfony não suporta enums e o seguinte erro é gerado ao tentar executar um comando do doctrine pelo console do Symfony: | ||
| − | <source | + | <source lang="bash"> |
[Doctrine\DBAL\DBALException] | [Doctrine\DBAL\DBALException] | ||
Unknown database type enum requested, Doctrine\DBAL\Platforms\MySqlPlatform may not support it. | Unknown database type enum requested, Doctrine\DBAL\Platforms\MySqlPlatform may not support it. | ||
| 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="ini"> | |
| − | + | mapping_types: | |
| + | enum: string | ||
| + | </source> | ||
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 | + | <source lang="ini"> |
# Doctrine Configuration | # Doctrine Configuration | ||
doctrine: | doctrine: | ||
Edição atual tal como às 08h35min 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