Levantando el schema

No hace mucho tenía la duda de cual era el mejor método para levantar la base de datos entre mysql<>symfony. Normalmente montaba las tablas directamente en el MSYQL y a continuación mediante el comando:

symfony doctrine:build-schema

generaba el esquema para el modelo. El principal problema venía cuando empezamos a enlazar demasiadas tablas, ya que la definición de las foreign-keys son bastante engorrosas en MYSQL, sobretodo por el tipo de errores que retorna que no facilitan mucho descubrir donde están los problemas.

No hace mucho que MYSQL ha dejado de desarrollar el cliente MSYQL-CLIENT para la gestión de tablas, dejando paso a un nuevo software llamado MYSQL-WORKBENCH que integra la administración, gestión y desarrollo de las bases de datos.

Los primeros días con la herramienta son bastante engorrosos, sobretodo si estas acostumbrado a MSYQL-CLIENT, sobretodo para hacer gestiones simples, pero una de las herramientas más innovadoras que incluye es la herramienta visual para crear las tablas y relaciones.

Esta herramienta nos permite de una forma sencilla ir creando todas las relaciones, sean cuales sean sus tipos, generando automáticamente las claves, índices o columnas necesarias para su correcto funcionamiento.

Hasta ahí bien, al menos una mejora, ¿pero que tiene más podemos hacer? Pues existe un plug-in que nos permite exportar el diseño a formato YML. Se puede descargar desde el siguiente enlace: DoctrineExport

Aún así, como pasa la mayoría de veces en la informática, no es oro todo lo que reluce. Deberemos hacer un repaso al esquema para comprobar que todo es correcto, y como en la mayoría de generadores, no estará optimizado: la columna id estaran definidos (y no es necesario) además deveremos añadir la característica autonumérico en el Mysql Workbench, ya que no lo hace por defecto al añadir una tabla nueva:

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s