crear schema.yml a partir de una base existe

236 views
Skip to first unread message

Carlos Avalos

unread,
Feb 7, 2011, 1:16:36 PM2/7/11
to Grupo Symfony
saludos
estoy iniciando en symfony y tengo una structura ya hecha en mysql  (ejemplo abajo) y necesito crear un schema.yml ,como lo hago y como lo ejecuto ??

de antemano muchas gracias



CREATE TABLE product (
  category INT NOT NULL, 
  id INT NOT NULL,
  price DECIMAL,
  PRIMARY KEY(category, id)
) ENGINE=INNODB;

CREATE TABLE customer (
  id INT NOT NULL,
  PRIMARY KEY (id)
) ENGINE=INNODB;

CREATE TABLE product_order (
  no INT NOT NULL AUTO_INCREMENT,
  product_category INT NOT NULL,
  product_id INT NOT NULL,
  customer_id INT NOT NULL,
  PRIMARY KEY(no),
  INDEX (product_category, product_id),
  FOREIGN KEY (product_category, product_id)
    REFERENCES product(category, id)
    ON UPDATE CASCADE ON DELETE RESTRICT,
  INDEX (customer_id),
  FOREIGN KEY (customer_id)
    REFERENCES customer(id)
) ENGINE=INNODB;


Borja Garcia

unread,
Feb 7, 2011, 1:23:26 PM2/7/11
to symfo...@googlegroups.com
El 07/02/2011 19:16, Carlos Avalos escribi�:
> --
> Has recibido este mensaje porque est�s suscrito al grupo "symfony-es"
> de Grupos de Google.
> Para publicar una entrada en este grupo, env�a un correo electr�nico a
> symfo...@googlegroups.com.
> Para anular tu suscripci�n a este grupo, env�a un correo electr�nico a
> symfony-es+...@googlegroups.com
> Para tener acceso a m�s opciones, visita el grupo en
> http://groups.google.com/group/symfony-es?hl=es.
Puedes escribirlo a mano mirando la sintaxis YML o como lo hago yo, te
instalas MySQL WorkBench y tienes un plugin para pasar a YML.
Con el programa puedes contruir toda la BBDD, crear las relaciones y
configurarla a tu gusto, luego exportas en YML y lo pegas en tu schema.

Julian Reyes Escrigas

unread,
Feb 7, 2011, 1:29:44 PM2/7/11
to symfo...@googlegroups.com
Bueno ya teniendo el SQL lo puedes hacer de varias maneras

1.
a. usa tu administrador de base de datos ej.: phpMyAdmin para importar el SQL y crea tu base de datos
b. define tu base de datos en el archivo databases.yml
c. usa el comando "symfony propel:build-schema" este tomara la base de datos que definiste y previamente creaste y creara un archivo schema.yml por ti con todo en él
2
a. en la carpeta (dentro del proyecto) data/sql crea un archivo de nombre "lib.model.sql" y pon alli tu sql
b. en la misma carpeta crea otro archivo "sqldb.map" y en el pon el siguiente contenido
lib.model.schema.sql=propel
cdefine tu base de datos en el archivo databases.yml
c. ejecuta el comando "symfony propel:insert-sql"
c. ejecuta el comando "symfony propel:build-schema"

como ves el proceso solo requiere que este definido tu archivo databases.yml y que dicha base de datos exista con sus tablas y relaciones luego el schema lo crea symfony con algo de "magia"

espero te sirva

-- 
Julian Reyes Escrigas
Desarrollador PHP/MySQL
--
Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a symfo...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a symfony-es+...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/symfony-es?hl=es.

Carlos Avalos

unread,
Feb 7, 2011, 1:31:24 PM2/7/11
to symfo...@googlegroups.com
ya lo solucione 

configure el archivo CONFIG/database.yml 

usuario y pass de la bd

luego en  la consolo 

php symfony doctrine:build-schema



y se creo el schema.yml



:D




2011/2/7 Borja Garcia <deux...@gmail.com>
Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a symfo...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a symfony-es+...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/symfony-es?hl=es.
Puedes escribirlo a mano mirando la sintaxis YML o como lo hago yo, te instalas MySQL WorkBench y tienes un plugin para pasar a YML.
Con el programa puedes contruir toda la BBDD, crear las relaciones y configurarla a tu gusto, luego exportas en YML y lo pegas en tu schema.

--
Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a symfo...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a symfony-es+...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/symfony-es?hl=es.


Carlos Avalos

unread,
Feb 7, 2011, 1:47:11 PM2/7/11
to symfo...@googlegroups.com
Julian ,muchas gracias


2011/2/7 Julian Reyes Escrigas <julian.rey...@gmail.com>

Ignacio Palomo

unread,
Feb 8, 2011, 2:25:23 AM2/8/11
to symfo...@googlegroups.com
en php my admin cuando exportas hay una opcion que es tipo de archivo selecciona yml y veras el esquema yml.

--
Has recibido este mensaje porque estás suscrito al grupo "symfony-es" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a symfo...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a symfony-es+...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/symfony-es?hl=es.



--
Atentamente,
I.Palomo
Servicios de Internet 665 644 020


Conforme a lo estipulado en el artticulo 29.2 de la ley orgánica 15/1999 de 13 de diciembre de protección de datos de caracter personal. Puede ejercer el derecho de acceso,rectificación o cancelación de sus datos via e-mail ipal...@gmail.com.

Sincerely,
Palomo I.
Internet Services 665 644 020


As provided in the artticulo 29.2 of Organic Law 15/1999 of 13 December on the protection of Personal Data. You can exercise the right of access, rectification or cancellation of your data via e-mail ipal...@gmail.com.

Carlos Avalos

unread,
Feb 8, 2011, 10:16:27 AM2/8/11
to symfo...@googlegroups.com
es correcto esa opcion esta alli pero nunca funciona o a mi no me ha funcionado solo saca un header %YAML
y nada mas....  :(  no se si hay que hacer algo en la configuracion  ?? ..(se me ocurre)






2011/2/8 Ignacio Palomo <ipal...@gmail.com>
Reply all
Reply to author
Forward
0 new messages