Hola a tod@s en esta nueva entrada, en esta oportunidad vamos hablar de como configurar a symfony para que puede trabajar con varios schemas al mismo tiempo es importante que tonemos que tener en consideración que el archivo mas importante para esta configuración dentro de symfony es el schema.yml que es el  que vamos a editar, para este caso vamos a usar una base de dato de prueba que tiene los siguientes  schema public y noticias, dentro de schema noticias tengo una tabla llamada tematica, dentro de public tengo la tabla llamada tipo_contenido, tenemos que tener claro que cuando aplicamos el siguiente comando:

php5 lib/vendor/symfony/data/bin/symfony doctrine:build-schema, genera algo como lo siguiente

————————————————————— Schema Original  ————————————————————————

Tematica:
connection: doctrine
tableName: tematica
columns:
id:
type: integer(4)
fixed: false
unsigned: false
primary: true
sequence: noticias.tematica_id_seq
nombre:
type: string()
fixed: false
unsigned: false
notnull: true
primary: false
usuario_id:
type: integer(4)
fixed: false
unsigned: false
notnull: true
primary: false
created_at:
type: timestamp(25)
fixed: false
unsigned: false
notnull: true
primary: false
updated_at:
type: timestamp(25)
fixed: false
unsigned: false
notnull: false
primary: false
TipoContenido:
connection: doctrine
tableName: tipo_contenido
columns:
id:
type: integer(4)
fixed: false
unsigned: false
primary: true
sequence: tipo_contenido_id
nombre:
type: string()
fixed: false
unsigned: false
notnull: true
primary: false

——————————————————- Schema que tenemos que modificar  ————————————————————————

Tematica:
connection: doctrine
tableName: noticias.tematica
columns:
id:
type: integer(4)
fixed: false
unsigned: false
primary: true
sequence: noticias.tematica_id
nombre:
type: string()
fixed: false
unsigned: false
notnull: true
primary: false
usuario_id:
type: integer(4)
fixed: false
unsigned: false
notnull: true
primary: false
created_at:
type: timestamp(25)
fixed: false
unsigned: false
notnull: true
primary: false
updated_at:
type: timestamp(25)
fixed: false
unsigned: false
notnull: false
primary: false
TipoContenido:
connection: doctrine
tableName: tipo_contenido
columns:
id:
type: integer(4)
fixed: false
unsigned: false
primary: true
sequence: tipo_contenido_id
nombre:
type: string()
fixed: false
unsigned: false
notnull: true
primary: false

Observando los dos schema la parte que tenemos que editar esta en negrita como por ejemplo tableName: noticias.tematica (Agregamos el nombre del nuevo schema al inicio del nombre de la tabla + punto), luego sequence: noticias.tematica_id le quitamos _seq debido que el symfony ya concatena ese palabra por determinado. luego que haga estos cambios debe de hacer los siguientes comandos:

php5 lib/vendor/symfony/data/bin/symfony doctrine:build-model

php5 lib/vendor/symfony/data/bin/symfony doctrine:build-forms

php5 lib/vendor/symfony/data/bin/symfony doctrine:build-filters

—————————————————————————————————————–

Nota: cualquier duda sobre este tema, puedes preguntarme sin problema y con gusto le responderé.

Anuncios