Foros del Web » Programando para Internet » PHP » Symfony »

Problemas con .yml

Estas en el tema de Problemas con .yml en el foro de Symfony en Foros del Web. Buenos días! Estoy probando y trasteando con symfony ya que veo que es un framework potentísimo y me encuentro en el problema de los archivos ...
  #1 (permalink)  
Antiguo 03/10/2014, 03:04
 
Fecha de Ingreso: noviembre-2010
Mensajes: 156
Antigüedad: 14 años
Puntos: 0
Problemas con .yml

Buenos días!

Estoy probando y trasteando con symfony ya que veo que es un framework potentísimo y me encuentro en el problema de los archivos .yml

Quiero pasarme a estos archivos porque utilizo MySQL WorkBench 5.2 que te genera el .yml automáticamente.

Ahora mi pregunta es ? Para utilizar el archivo .yml que te genera WorkBench lo hemos de tratar como una Entity?

Mi pregunta será si con este archivo se podría generar el CRUD de manera automática igual que cuando utilizaba las clases o confundo conceptos?

Aquí dejo el contenido del archivo generado

PD:Utilizo Symfony 2.3
---
Código PHP:
Ver original
  1. detect_relations: true
  2. options:
  3.   collate: utf8_general_ci
  4.   charset: utf8
  5.   type: InnoDB
  6.  
  7. Cliente:
  8.   columns:
  9.     idCliente:
  10.       type: integer(4)
  11.       primary: true
  12.       notnull: true
  13.       autoincrement: true
  14.     nombre:
  15.       type: string(45)
  16.       notnull: true
  17.     apellido:
  18.       type: string(45)
  19.       notnull: true
  20.     date:
  21.       type: string(45)
  22.       notnull: true
  23.     direccion:
  24.       type: string(45)
  25.       notnull: true
  26.  
  27. Venta:
  28.   tableName: Ventas
  29.   columns:
  30.     idVentas:
  31.       type: integer(4)
  32.       primary: true
  33.       notnull: true
  34.     Fecha:
  35.       type: date
  36.       notnull: true
  37.     id_Cliente:
  38.       type: integer(4)
  39.       notnull: true
  40.   relations:
  41.     idCliente:
  42.       class: Cliente
  43.       local: id_Cliente
  44.       foreign: idCliente
  45.       foreignAlias: Ventas
  46.   indexes:
  47.     IdCliente_idx:
  48.       fields: [id_Cliente]
  49.  
  50. DetalleVenta:
  51.   columns:
  52.     idDetalleVenta:
  53.       type: integer(4)
  54.       primary: true
  55.       notnull: true
  56.       autoincrement: true
  57.     idVenta:
  58.       type: integer(4)
  59.       notnull: true
  60.     idProducto:
  61.       type: integer(4)
  62.       notnull: true
  63.     cantidad:
  64.       type: integer(4)
  65.       notnull: true
  66.     Descuento:
  67.       type: decimal(18)
  68.       scale: 2
  69.       notnull: true
  70.   relations:
  71.     idVenta:
  72.       class: Venta
  73.       local: idVenta
  74.       foreign: idVentas
  75.       foreignAlias: DetalleVentas
  76.     idProducto:
  77.       class: Producto
  78.       local: idProducto
  79.       foreign: idProductos
  80.       foreignAlias: DetalleVentas
  81.   indexes:
  82.     idVentas_idx:
  83.       fields: [idVenta]
  84.     idProductos_idx:
  85.       fields: [idProducto]
  86.  
  87. Producto:
  88.   tableName: Productos
  89.   columns:
  90.     idProductos:
  91.       type: integer(4)
  92.       primary: true
  93.       notnull: true
  94.       autoincrement: true
  95.     nombre:
  96.       type: string(45)
  97.       notnull: true
  98.     precio:
  99.       type: decimal(18)
  100.       scale: 2
  101.       notnull: true
  #2 (permalink)  
Antiguo 03/10/2014, 07:59
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 5 meses
Puntos: 379
Respuesta: Problemas con .yml

No uso el plugin que mencionas, pero es importante que verifiques que funcione para doctrine 2 si no, tendrás resultados inesperados.
El plugin solo te genera la descripción de tu modelo, así que es necesario que ejecutes los comandos:
Código BASH:
Ver original
  1. app/console generate:doctrine:entities --no-backup <TuBundle>
  2. app/console generate:doctrine:crud --entity=TuBundle:Entidad

Cita:
Mi pregunta será si con este archivo se podría generar el CRUD de manera automática igual que cuando utilizaba las clases o confundo conceptos?
Si es para la versión 2 de doctrine claro que te sirve para generar las clases y el crud
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 03/10/2014, 10:20
 
Fecha de Ingreso: noviembre-2010
Mensajes: 156
Antigüedad: 14 años
Puntos: 0
Respuesta: Problemas con .yml

Al final he estado trasteando y hago lo siguiente.

Lo exporto a sql desde el WorkBench , lo importo a la base de dates y a partir de allí creo las entities. Sería la ostia si ya te hiciera las relaciones 1:1 , 1:N y N:M jajaja
  #4 (permalink)  
Antiguo 03/10/2014, 11:57
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 5 meses
Puntos: 379
Respuesta: Problemas con .yml

Si tu proyecto esta partiendo de cero no es necesario hacer eso. Solo tienes que crear las entidades y el schema correspondiente.

Te sugiero que leas la documentación correspondiente: http://symfony.com/doc/current/book/doctrine.html
http://docs.doctrine-project.org/en/latest/
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #5 (permalink)  
Antiguo 03/10/2014, 12:46
 
Fecha de Ingreso: noviembre-2010
Mensajes: 156
Antigüedad: 14 años
Puntos: 0
Respuesta: Problemas con .yml

Hola! Te comento que voy a leerme los enlaces ya que este año por desgracia tengo mucho tiempo libre.

Y sí ,parte desde cero . Digamos que hago el diagrama UML y todo para practicar en mí caso (Hice un backend en Laravel)

Entonces lo que voy ha hacer va a ser que a través del .yml exportado del MySQL WorkBench voy a intentar añadir las asociaciones siguientes.

http://docs.doctrine-project.org/en/...n-mapping.html

Te refieres a crear el Schema y las Entidades por separado? Por qué mi solución se basa en que una vez exportado el esquema se crea la base de datos , después genero las entidades a partir de las tablas creadas.

Ya aprovecho y digo donde iría el archivo .yml una vez configurado?
  #6 (permalink)  
Antiguo 03/10/2014, 13:45
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 5 meses
Puntos: 379
Respuesta: Problemas con .yml

Hmmmm si ya tienes la definición del esquema generado por workbench. Digamos por ejemplo algo como:
Código yml:
Ver original
  1. Tkoo\EjemploBundle\Entity\Prueba:
  2.     type: entity
  3.     table: null
  4.     id:
  5.         id:
  6.             type: integer
  7.             id: true
  8.             generator:
  9.                 strategy: AUTO
  10.     fields:
  11.         nombre:
  12.             type: string
  13.             length: 255
  14.         edad:
  15.             type: integer
  16.         fecha:
  17.             type: date
  18.         direccion:
  19.             type: string
  20.             length: 255
ya que agregaste las relaciones, lo siguiente es guardarlo en el directorio: TkooEjemploBundle/Resources/Doctrine/Prueba.orm.yml(crear si no existe). Posterior a eso necesitas generar el schema y las entidades de la siguiente forma:
Código PHP:
Ver original
  1. app/console doctrine:schema:create
  2. app/console doctrine:generate:entities TkooEjemploBundle --no-backup
Con eso te ahorras algunos pasos.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #7 (permalink)  
Antiguo 04/10/2014, 04:45
 
Fecha de Ingreso: noviembre-2010
Mensajes: 156
Antigüedad: 14 años
Puntos: 0
Respuesta: Problemas con .yml

Ups , utilizo la versión 2.5 y dentro del Bundle no está , está dentro de vendor/doctrine , iría allí?
  #8 (permalink)  
Antiguo 04/10/2014, 11:12
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 11 años, 5 meses
Puntos: 379
Respuesta: Problemas con .yml

Si no existe crea la carpeta Doctrine dentro de Resources en tu bundle.
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:14.