Sé que puede pedirle a ActiveRecord que enumere las tablas en la consola usando:
ActiveRecord::Base.connection.tables
¿Existe un comando que enumere las columnas en una tabla determinada?
Sé que puede pedirle a ActiveRecord que enumere las tablas en la consola usando:
ActiveRecord::Base.connection.tables
¿Existe un comando que enumere las columnas en una tabla determinada?
Esto listará los column_names de una tabla
Model.column_names
e.g. User.column_names
Model.columns
para obtener más información sobre las columnas, incluidos los datos de configuración de la base de datos.Model.columns
proporciona toda la información para una tabla a través de ActiveRecord. Fundamentalmente para mí, fue la única y más sencilla forma de ganar confianza en cuál era realmente mi clave principal a nivel de base de datos.Esto obtiene las columnas, no solo los nombres de las columnas y usa ActiveRecord :: Base :: Connection, por lo que no se necesitan modelos. Útil para generar rápidamente la estructura de una base de datos.
Salida de muestra: http://screencast.com/t/EsNlvJEqM
fuente
primary
atributo correctamente (todas las columnas lo tienenprimary=nil
). Está configurado correctamente con elModel.columns
método sugerido por srt32.Usando los rieles tres, puede simplemente escribir el nombre del modelo:
En los carriles cuatro, primero debe establecer una conexión:
fuente
Si se siente cómodo con los comandos SQL, puede ingresar a la carpeta de su aplicación y ejecutarla
rails db
, que es una forma breve derails dbconsole
. Ingresará al shell de su base de datos, ya sea sqlite o mysql.Luego, puede consultar las columnas de la tabla usando el comando sql como:
fuente
describe your_table;
, no es perfecto pero funcionaPuede ejecutar
rails dbconsole
su herramienta de línea de comandos para abrir la consola sqlite. Luego escriba.tables
para enumerar todas las tablas y.fullschema
para obtener una lista de todas las tablas con nombres y tipos de columnas.fuente
Para una lista de las columnas de una tabla por lo general voy con esto:
Model.column_names.sort
.i.e. Orders.column_names.sort
Ordenar los nombres de las columnas facilita la búsqueda de lo que busca.
Para obtener más información sobre cada una de las columnas utilizan este:
Model.columns.map{|column| [column.name, column.sql_type]}.to_h
.Esto proporcionará un buen hash. por ejemplo:
fuente
complementando esta útil información, por ejemplo usando rails console o rails dbconsole:
El estudiante es mi modelo, usando la consola de rieles:
Otra opción usando SQLite a través de Rails:
Finalmente para más información.
¡Espero que esto ayude!
fuente
Para un formato más compacto y menos mecanografía, simplemente:
fuente