2012-03-29 11 views
6

Usando Rails 3.2.2 y ruby 1.9.3dev y mysqlgenerar modelos de tablas existentes utilizando los carriles 3

Soy nuevo en Ruby y Rails. Tenemos una base de datos existente con un par de cientos de tablas. Nos gustaría probar los rieles para ver si sería un cambio positivo de PHP & ZendFramework.

La migración de datos a otra base de datos no es una opción para nosotros porque tenemos varias otras aplicaciones que actualmente usan esta base de datos. Queríamos "adjuntar" un proyecto de rieles a la base de datos existente.

La parte que estoy luchando está generando todos los modelos de nuestra base de datos existente.

He visto un par de publicaciones más antiguas sobre técnicas automatizadas, como Magic Model Generator. Mientras que otros hablaron de que no hay forma de hacerlo, o simplemente crearlos todos manualmente.

no tuve éxito en la generación de modelos que utilizan Magia Modelo Generador (tal vez los carriles 2 solamente?)

Hace mucho tiempo, cuando nos cambiamos a ZendFramework, escribí un guión rápido para analizar la base de datos y generar todos los archivos de modelo para nosotros. Parecería que este sería un escenario algo común.

Nota: Utilizamos ID en lugar de id y muchas tienen muchas relaciones foreign_key.

Así que quería preguntar a la comunidad cuál es la mejor (forma/práctica) para manejar esto?

Respuesta

2

no es tan difícil, sólo se necesita un poco más de configuración. Aquí hay una plantilla básica para un modelo:

class YourIdealModelName < ActiveRecord::Base 
    self.table_name = `actual_table_name` 
    self.primary_key = `ID` 

    belongs_to :other_ideal_model, 
    :foreign_key => 'foreign_key_on_other_table' 

    has_many :some_other_ideal_models, 
    :foreign_key => 'foreign_key_on_this_table', 
    :primary_key => 'primary_key_on_other_table' 
end 
+0

Gracias por la plantilla, esta era en realidad la ruta que estaba considerando. Sin embargo, pensé que habría una herramienta que podría hacer esto ya. –

+0

En lugar de un generador de modelos mágicos, puedes probar modelos mágicos. No generará los archivos modelo, pero los tendrá disponibles en su aplicación y los utilicé con éxito en una aplicación de rails 3. –

+0

¿Tiene un enlace para obtener más información sobre los modelos de magia? –

0

No soy un experto e incluso he investigado sobre esto. Sin pensar demasiado, la primera solución en mi mente es hacer los modelos y las migraciones de acuerdo con los rieles, para que no tenga ningún problema, por ejemplo, claves y nombres de teclas foráneas. Si ya tiene algunos datos, debe migrarlos a los rieles db.

Una razón para ello es que los modelos se supone no ser sólo de acceso de datos, sino que también contienen la lógica de negocio

+1

Gracias por su idea. La migración de datos a otra base de datos no es una opción para nosotros porque tenemos varias otras aplicaciones que actualmente usan esta base de datos. Queríamos "adjuntar" un proyecto de rieles a la base de datos. –

Cuestiones relacionadas