Al momento que corro el comando para que se cree mis tablas en mi base de datos Postgres lo hace en el esquema public
, ¿dónde puedo configurar para que se me cree las tablas en un esquema que ya tengo creado?
Gracias de antemano.
Respuestas
Puedes configurar el esquema en cada entidad mediante la anotación @ORM\Table
:
use Doctrine\ORM\Mapping as ORM; /** * @ORM\Table(schema="nombre_esquema") */ class NombreEntidad { // ... }
@javiereguiluz
Gracias de nuevo @javiereguiluz, lo probaré.
@piocarluis
@javiereguiluz el problema que tengo es el siguiente, yo tengo primero creada la base de datos con sus tablas respectivas, luego ejecuto el comando php app/console doctrine:mapping:import --force nombreBundle xml
para mapear mis tablas.
Luego ejecuto el comando php app/console doctrine:mapping:convert annotation ./src
para generar las entidades y me las genera correctamente, con todo lo que tengo en mi BD ya sea FK, secuencias, ahí no hay ni un problema.
Luego ejecuto php app/console doctrine:generate:entities nombreBundle
para obtener los getters y setters. Pero al momento de ejecutar php app/console doctrine:schema:update --force
las tablas que ya las tenía creadas en mi esquema se me crean en el esquema public
, pero yo quiero trabajar en mi esquema.
Agregué la línea que me dejaste en la respuesta que me diste antes de actualizar mi esquema pero me sigue generando las tablas en el esquema public
.
@piocarluis
He buscado en el repositorio de Symfony y en el del DoctrineBundle y parece que la librería de Doctrine no soporta los esquemas de manera totalmente integrada. En esta respuesta de StackOverflow proponen como solución de emergencia que incluyas explícitamente en tus entidades el nombre del esquema de la siguiente manera (es parecido a lo que te he dicho antes, pero diferente):
@ORM\Table(name="nombre_esquema.nombre_tabla")
@javiereguiluz
@javiereguiluz tambien probé eso y no se solucionó. Otros decían que pruebe @ORM\Table(name="nombre_esquema"."nombre_tabla")
y tampoco funcionó. Encontré esta página que tienen el mismo problema que yo https://groups.google.com/forum/#!topic/symfony-ven/wX4UImVTbio
@piocarluis