Me preguntaba si podría enumerar/examinar qué bases de datos/objetos están disponibles para usted en la consola de Rails. Sé que puedes verlos usando otras herramientas, solo tengo curiosidad. Gracias.Rieles: ¿Cómo enumerar las tablas/objetos de la base de datos utilizando la consola de Rails?
Respuesta
Usted probablemente está buscando:
ActiveRecord::Base.connection.tables
y
ActiveRecord::Base.connection.table_structure("projects")
Usted probablemente debería envolverlos en s más cortos yntaxis dentro de tu .irbrc
.
Gracias, el primero funciona como yo quiero. Pero el segundo no ... buscado algo similar pero sin suerte. – rtfminc
ActiveRecord :: Base.connection.columns ("foos") también debería funcionar, pero devuelve objetos de columna, .map {| c | [c.name, c.type]} al final corrige eso. – cwninja
'table_structure' parece ser específico del adaptador sqlite. – Kelvin
Es un comienzo, se puede enumerar:
models = Dir.new("#{RAILS_ROOT}/app/models").entries
Mirando un poco más ...
haciendo esto, solo enumera los archivos de modelos, ¿y si las tablas existen en db y no tienen el modelo fild en el directorio de modelos? –
Para obtener una lista de todas las clases de modelos, puede usar ActiveRecord::Base.subclasses
, p.
ActiveRecord::Base.subclasses.map { |cl| cl.name }
ActiveRecord::Base.subclasses.find { |cl| cl.name == "Foo" }
También: 'ActiveRecord :: Base.descendants.map (&: name)' – valk
Espero que mi respuesta tardía pueda ser de alguna ayuda.
Esto irá a la consola de la base de datos de rieles.
rails db
bastante imprimir su salida de la consulta
.headers on
.mode columns
(turn headers on and show database data in column mode)
Mostrar las tablas de
.table
'.help' para ver la ayuda.
O utilice sentencias de SQL como 'Seleccionar * de autos'
'rails dbconsole' lo pone en el intérprete de línea de comandos (CLI) del motor de base de datos que está utilizando ... los anteriores son comandos SQLite. .. Postgres, por ejemplo, usaría '\ dt' para listar tablas ... –
hay una manera de asegurarse de que cada vez que no tenga que aplicar .headers en y .más columnas cuando ejecute rails db – Mark
Puede usar rails dbconsole
para ver la base de datos que utiliza su aplicación de rieles. Es una respuesta alternativa rails db
. Ambos comandos le dirigirán la interfaz de línea de comando y le permitirán usar esa sintaxis de consulta de la base de datos.
- 1. cómo agregar datos a la base de datos desde la consola de rieles
- 2. ¿Cómo se puede ocultar la salida de la base de datos en la consola de Rails?
- 3. Acceda a las tablas de la base de datos mem o fs utilizando la consola H2
- 4. Recargue la consola de rieles
- 5. ¿Cómo puedo iniciar la consola de rieles y usar la base de datos de prueba exclusivamente?
- 6. Error con la base de datos de prueba utilizando rieles postgres utilizando hstore
- 7. Rieles, cómo migrar datos de la base de datos de desarrollo sqlite3 a la base de datos de producción MySQL?
- 8. rieles entorno por defecto de la consola
- 9. Paperclip: ¿Cómo almacenar una imagen en la consola de Rails?
- 10. ¿Modificar los ID de la base de datos de la consola de Rails?
- 11. Almacenamiento de matrices en la base de datos utilizando ActiveRecord
- 12. Rails 3 - ¿Cómo evito la base de datos por completo?
- 13. ¿Cómo sembrar la base de datos de producción utilizando la joya de Capistrano?
- 14. ¿La consola de los rieles es dinámica?
- 15. Rieles: almacenamiento de archivos binarios en la base de datos
- 16. ¿Cómo ver el historial completo de la consola de Rails?
- 17. ¿cómo recargo un modelo en la consola de rieles?
- 18. Rieles: almacenamiento de datos cifrados en la base de datos
- 19. Rails3 consola irb vs consola de rieles?
- 20. Rieles de base de datos valores booleanos
- 21. Rieles: almacenamiento de plantillas erb en la base de datos
- 22. Recargar ayudante de rieles consola
- 23. Rieles: base de datos separada por subdominio
- 24. Rieles: almacenar traducciones en la base de datos
- 25. Ejecutar migraciones desde la consola de rieles
- 26. ¿Cómo llenar la base de datos de producción (heroku) con los datos de desarrollo? (rieles)
- 27. ¿Cómo colocar todas las tablas en la base de datos sin soltar la base de datos?
- 28. Enrutamiento de Dynamic Rails basado en la base de datos
- 29. Migraciones de rieles con tipos de datos específicos de la base de datos
- 30. Uso de serialización de Rails para guardar hash en la base de datos
eso es para lo que es script/dbconsole aunque – hgmnz
Sí, eso te deja en mysql (o lo que sea). Por algún extraño motivo, deseo enumerar columnas/tablas, etc., desde la consola común. Estoy pensando que podría requerir métodos ruby hechos a medida para hacer tal cosa. – rtfminc