ruby on rails - ¿Cómo acceder a Rails sqlite db por defecto?
ruby-on-rails ruby-on-rails-3 (6)
Me gustaría ver los datos en mi base de datos mientras desarrollo con Rails (en realidad en los 3 de desarrollo, prueba y producción). No he tocado las configuraciones, así que debería ser fácil, pero no pude encontrar ninguna información utilizable.
No tengo ni idea de qué cadena de conexión podría ser ni dónde ingresarla, ya que Aptana (v.3) parece carecer de la buena y antigua vista del explorador de fuentes de datos que conozco de Eclipse. ¿Podría alguien señalarme en la dirección correcta?
EDITAR: Estoy trabajando en Linux - Mint 12
Abre el terminal y escribe este comando. Esto abrirá una consola de rieles para consultar la base de datos.
rails c
Para obtener una lista de todos los modelos, puede usar el siguiente comando
ActiveRecord::Base.connection.tables
ejemplo: ["schema_migrations", "ar_internal_metadata", "categories", "items"]
De la lista de modelos, puede obtener el primero, el último o todos los registros.
Category.all
Existe una gran aplicación para navegar por las bases de datos sqlite3. Navegador de base de datos SQLite .
PD. Mencionaste que estás usando el estudio Aptana. También comencé mi aprendizaje de RoR con este IDE, pero luego descubrí Sublime Text y nunca más quise utilizar nada más. Te aconsejo que lo consultes.
Aclamaciones
Ha olvidado mencionar el sistema operativo que está utilizando.
Una forma es usar el comando sqlite3
en tu terminal.
sqlite3 db/development.sqlite3
Sin embargo, para cosas como inspeccionar sus filas, sería mejor utilizar una consola de rieles.
rails c
> User.all # Where user is your model.
NOTA: No cambie su esquema DB directamente a través de sqlite3, algo a lo que puede estar acostumbrado si proviene de un fondo de pila web diferente. Esto se debe a que la próxima vez que ejecute las migraciones, el estado será diferente de lo que espera el rails.
Puede tener acceso en línea a su base de datos si usa activeadmin
.
Solo agregue la gema activeadmin-sqlpage :
gem ''activeadmin-sqlpage''
Y crea la página activeadmin:
# file app/admin/sql.rb
ActiveAdmin::SqlPage::register
Reinicia tu servidor. Luego ve al panel de administración y navega por el menú SQL
. Ingrese cualquier comando sql y presione Ctrl+Enter
o botón Submit
.
Rails 3 proporciona un comando genérico para acceder al cliente de base de datos correcto y pasar el nombre de la base de datos correcta para su entorno actual. Este comando es rails dbconsole
que se puede acortar a rails db
$ rails db
SQLite version 3.6.12
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite>
Este comando no ofrece mucho más que la respuesta de Gazler y, de hecho, sus consejos para usar la consola son buenos consejos, sin embargo, el lado positivo de este método es que usará el cliente correcto si su base de datos es diferente en otros entornos.
utilizar
SQLite> .tables
esto le dará la lista de todas las tablas existentes en la base de datos seleccionada
@@ para activar la consola
SQLite> rails dbconsole
@@ para mostrar tablas
SQLite>.tables
@@ para mostrar todas las filas en una tabla
SQLite> select * from posts