Tenga paciencia conmigo en este caso.Creación de tablas y modelos sobre la marcha (dinámicamente) en Ruby on Rails 3
En una aplicación que estoy trabajando, los usuarios pueden cargar archivos CSV en el sistema, con cualquier encabezado que les guste y cualquier columna en los datos. El CSV luego se usa para generar una tabla en la base de datos y los datos escritos en ella, luego se puede acceder a través del sistema para diversos usos, búsquedas, actualizaciones de ordenaciones, etc.
El antiguo (y ahora difunto sistema) era en PHP y manejado bien, aunque bastante desordenado con muchos sql sin formato para crear las tablas y los modelos mágicos admitidos en el marco (si la tabla existía también lo hizo el objeto sin una clase definida en un archivo de modelo)
se está escribiendo una nueva versión en RoR3, y todavía tengo que encontrar una manera de hacerlo. He logrado ordenar la creación de la tabla llamando a las herramientas de migración dentro de un modelo (no muy Rails-y lo sé, pero debe ser necesario ...), pero no encuentro la forma de vincular a la nueva tabla una vez que se ha creado. escribir en los datos, construir relaciones o cualquier otra cosa.
Lo que estoy esperando es tampoco,
a) alguien de aquí tiene una mejor forma de hacerlo que la creación de tablas y modelos sobre la marcha (una advertencia aquí, estos archivos pueden contener de 100'000 de registros y diferentes campos para que una sola opción de tabla no funcione tan bien), es decir, un mejor diseño de la base de datos para este problema.
o
b) me puede decir cómo resolver el problema del modelo.
He mirado en gema mágica modelo del Dr. Nic para RoR pero no parece trabajar en RoR3 a menos que yo estoy haciendo algo mal
Lo siento por el muro de texto, mirar hacia adelante a cualquier sugerencia
Gracias de antemano
Sólo un salvaje Pensamiento: Tal vez intente crear un archivo de migración sobre la marcha, luego vuelva a cargar ese archivo y db: migrar. – Zabba
@Zabba, ¿qué lograría eso exactamente? Disculpe mi falta de experiencia en RoR, pero ¿no es la migración la que crea la mesa y no el modelo? ¿O quisiste decir que sería una "mejor" forma de crear la mesa? – fullybaked
Sí, me refiero a la parte sobre la creación de la tabla. Pero también puedes crear el archivo de modelo y cargarlo, I * supongo *. Sin experiencia con este tipo de cosas todavía. – Zabba