[Ror-es] Generación automática a partir de esquema?
javier ramirez
jramirez at aspgems.com
Thu Feb 1 14:45:57 GMT 2007
Si lo que tienes es una base de datos legacy puedes intentar lo siguiente
para generar la DB:
-configuras el database.yml para que conecte contra tu db
-ejecutas rake db:schema:dump. Esto te regenerará el fichero schema.rb
-el contenido de schema.rb lo copias en una migration y lo metes todo en
el método up. Si quieres poder utilizar AR, tendrás que eliminar del
código generado la parte de cada tabla donde dice :id=>false. Así
tendrás las PK creadas como id automáticamente.
-te instalas el plugin para FKs de redhill. De esta forma conforme se
creen las tablas se crearán los índices y las FKs.
-verificas que todas tus columnas que referencian a claves externas se
llaman nombredetabla_id o en su defecto modificas la migration para
añadirle la claúsula references en cada FK que lo requiera. Te aseguras
también de que ninguna de tus columnas que no sean FK acabe en _id o en
su defecto le metes un :references=>nil
-ejecutas rake db:migrate. Ya tienes tu flamante base de datos creada y
tu migration preparada para recrearla en otros entornos. Ten en cuenta
que el campo clave para todas las tablas será ahora el campo "id" (si
hiciste lo que te comentaba de eliminar lo de id=>false). Aquí hay que
tener en cuenta un detalle... como estarás creando las tablas y las FKs,
si las tablas no están en el orden adecuado te va a dar errores. Esto
quiere decir que si tienes una tabla con una FK a otra, necesitas que la
sentencia de creación de la tabla principal esté antes que la de la
relacionada. Que yo sepa no hay forma de ejecutar las migrations con las
constraints de la db desactivadas, básicamente porque las migrations por
defecto no entienden de relaciones. Si alguien sabe cómo hacer esto,
vendría bien que lo comentase ;)
-------
- Para generar los controladores y los modelos puedes usar directamente
ruby script/generate
-------
- Si quieres tener vistas automáticamente, puedes tirar del generador de
scaffolds o de ajax_scaffolds también mediante ruby script/generate
Ya tienes tu aplicación (básica) con sus altas, bajas, modificaciones y
consultas preparada.
Saludos,
javier ramirez
p.s. lo mismo me he saltado algún paso porque esto te lo escribo de
memoria, pero la idea es ésa
Luis Villegas wrote:
> Buenas, me gustaría saber si hay alguna herramienta en ruby para
> generar automáticamente desde un esquema de base de datos todos los
> modelos, controladores y vistas, añadiendo relaciones y demás.
>
> Gracias
> _______________________________________________
> Ror-es mailing list
> Ror-es at lists.simplelogica.net
> http://lists.simplelogica.net/mailman/listinfo/ror-es
>
--
--------
Estamos de estreno... si necesitas llevar el control de tus gastos visita http://www.gastosgem.com !!Es gratis!!
More information about the Ror-es
mailing list