No estoy seguro de qué nombre debo darle a esta pregunta. Acabo de comenzar la programación del lado del servidor y necesito ayuda.Creación dinámica de nuevos modelos de Active Record y tablas de base de datos
Todos los tutoriales que he leído hasta ahora en RoR acuerdo con la creación de una mesa depredefinido y con pre-definido campos (id, nombre, correo electrónico, etc, etc). Usan ActiveRecord como clase base y guardar en db se maneja automáticamente por superclase.
Lo que estoy tratando de programar es algo que permite definido por el usuario tabla con campos. Entonces piensa en esta manera. La IU web tendrá una tabla vacía, el usuario nombrará la tabla y agregará columnas (campo), y luego agregará filas y luego las guardará. ¿Cómo implementaría esto? No pido detalles, solo una descripción general. Como dije, todos los tutoriales que he leído hasta ahora tratan con tablas predefinidas con campos donde la subclase de ActiveRecord está predefinida.
Así que en pocas palabras, estoy preguntando cómo crear tablas en db en runtime, y agregue campos a las tablas.
Espero que fuera claro, si no, por favor hágamelo saber y trataré de elaborar un poco más. Gracias.
Si recién está empezando con la programación web del lado del servidor, ¿qué le parece comenzar con Hello world? :) Parece que de su pregunta quiere construir una base de datos controlada por web con una gran cantidad de meta programación. Sugiero dar pasos graduales hacia ello. De alguna manera puedo visualizar cómo se puede hacer lo que quieres, simplemente no lo expliques en "simplemente comenzando a hablar de programación del lado del servidor". Lo digo de la mejor manera. Ya? –
Permitir que los usuarios ocasionales sean sus diseñadores de bases de datos es un negocio arriesgado y arriesgado. –
Lo que estás tratando de hacer es realmente MUY AVANZADO y básicamente una mala idea incluso entonces (¡pero en realidad es bastante común para los novatos!). Los usuarios de un sistema deberían almacenar datos. Tenerlos creando tablas es solo un mal enfoque y una mala idea a menos que tal vez tengas una gran cantidad de experiencia en DBMS. El creador del esquema (usted en este caso) solo tiene que crear estructuras de datos flexibles que almacenarán lo que necesite. Solo olvide el enfoque de crear tablas de usuario. ¿Después de todo, estarían creando índices también? ¿Entienden que es único? ¿Entienden las uniones? llaves compuestas? yuch. –