Hace un año tuve este problema y no encontré mucha información de como solucionarlo.

Al usar el comando (en symfony 2):

php app/console doctrine:mapping:import “modeloBundle” yml

El error que me muestra en la consola es el siguiente:

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

Este problema por lo que leí se debe al ORM que utilizo que es Doctrine 2, este no soporta hasta la fecha este tipo de dato (campo cidr o inet), mi solución a esto es a partir del gestor de la base de datos y no desde el framework programando un dominio que me chequee el campo a registrar (para este caso presiso seria una ip la que registraria), el dominio es el siguiente:

CREATE DOMAIN dominio_ip
AS character varying(15)
CONSTRAINT dominio_ip_check CHECK ((((VALUE)::inet > ‘0.0.0.0’::inet) AND ((VALUE)::inet < ‘223.255.255.255’::inet)));

Posterior a crear el dominio modificamos el tipo de dato en la base así:

ALTER TABLE “pre_usuario”
ALTER “ipusuario” TYPE dominio_ip,

NOTA: en este ejemplo verifico que acepte direcciones clase a, b y c si tienen restricciones de acceso unicamente de ip privadas aqui podrian validarlo.

Con ese cambio ya pueden usar nuevamente el comando para hacer ingeniería inversa y les funcionara bien.

Anuncios