2012-04-16 17 views
44

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.¿Cómo acceder a Rails sqlite db por defecto?

No tengo ni idea de qué cadena de conexión podría ser o dónde ingresar, ya que Aptana (v.3) parece carecer de la buena y antigua fuente de datos que conozco del explorador de Eclipse. ¿Podría alguien señalarme en la dirección correcta?

EDIT: Estoy trabajando en Linux - Mint 12

Respuesta

71

Has olvidado mencionar el sistema operativo que esté utilizando.

Una forma es usar el comando sqlite3 en su terminal.

sqlite3 db/development.sqlite3 

Sin embargo, para cosas como la inspección de sus filas, sería mejor usar una consola de rieles.

rails c 
> User.all # Where user is your model. 

NOTA: no cambia su esquema de base de datos directamente a través de sqlite3, algo que se puede utilizar para si viene de un fondo 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.

+0

usando linux (mint 12). ¿Hay algo que deba conocer como usuario de Linux? – kostja

+0

Funciona, gracias. – kostja

37

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 puede ser acortado 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 su consejo de usar la consola es un buen consejo sin embargo, el lado positivo de este método es que se utilice el cliente correcto si su base de datos es diferente en otros entornos.

+1

otros railes de acceso directo agradables proporciona aquí, gracias – kostja

8

uso

SQLite> .tables 

esto le dará la lista de todas las tablas existen 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 
5

Hay una gran aplicación para navegar por las bases de datos sqlite3. SQLite Database Browser.

P.S. Mencionaste que estás usando el estudio Aptana. También comencé mi aprendizaje de RoR con este IDE, pero más tarde descubrí Sublime Text y nunca más quise utilizar nada más. Te aconsejo que lo consultes.

Saludos

+4

Gracias por los consejos @Dmitry, +1. Eché un vistazo rápido al SQLite Db Browser, pero me desalentó ver que la última versión estable se lanzó en 2005, y el desarrollo se detuvo en 2009. Ahora estoy usando el [SQLite Manager plugin for firefox] (https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/). Y sí, trabajar con Aptana fue una experiencia corta y desagradable. Viniendo de Java y habiendo trabajado con IntelliJ, me he conformado con el increíble [IDE de RubyMine] (http://www.jetbrains.com/ruby/) y no he mirado atrás desde :) – kostja

+0

gracias por compartir el plugin SQLite Manager para firefox ... no sabía acerca de esto –

+1

Actualización: El buscador de la base de datos SQLite parece estar activo nuevamente. La última actualización lanzada oficialmente data de enero de 2016, y al momento de escribir este artículo, el compromiso más reciente [github en el proyecto] (https://github.com/sqlitebrowser/sqlitebrowser) fue hace 12 horas. –

0

Usted puede tener acceso en línea a la base de datos si se utiliza activeadmin.

Simplemente añadir la gema activeadmin-sqlpage:

gem 'activeadmin-sqlpage' 

y crear la página activeadmin:

# file app/admin/sql.rb 
ActiveAdmin::SqlPage::register 

reiniciar su servidor. Luego vaya al panel de administración y navegue por el menú SQL. Ingrese cualquier comando sql y presione Ctrl+Enter o Submit.

0

Abra el terminal y escriba este comando. Esto abrirá una consola de rieles para consultar la base de datos.

rails c 

Para obtener la lista de todos los modelos que puede utilizar el siguiente comando

ActiveRecord::Base.connection.tables 

ejemplo: [ "schema_migrations", "ar_internal_metadata", "Categorías", "artículos"]

De la lista de modelos, puede obtener el primer, último o todos los registros.

Category.all 
Cuestiones relacionadas