2012-04-16 13 views
44

Ich möchte die Daten in meiner DB während der Entwicklung mit Rails (eigentlich in allen 3 von ihnen Entwicklung, Test und Produktion) sehen. Ich habe die Configs nicht berührt, also sollte es einfach sein, aber ich konnte keine brauchbaren Informationen finden.Wie Standard Rails SQLite db zugreifen?

Ich habe keine Ahnung, was die Verbindungszeichenfolge sein könnte oder wo man sie eingeben kann, da Aptana (v.3) die gute alte Datenquelle Explorer View fehlt, die ich von Eclipse kenne. Könnte mir jemand in die richtige Richtung zeigen?

EDIT: Ich arbeite an Linux - Mint 12

Antwort

71

Sie haben vernachlässigt das Betriebssystem erwähnen Sie verwenden.

Eine Möglichkeit besteht darin, den Befehl sqlite3 in Ihrem Terminal zu verwenden.

sqlite3 db/development.sqlite3 

Für Dinge wie die Inspektion Ihrer Zeilen, würden Sie jedoch besser eine Rails-Konsole verwenden.

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

HINWEIS: Sie nicht Ihr DB-Schema direkt über sqlite3, etwas ändern Sie können verwendet werden, wenn Sie von einem anderen Web-Stack Hintergrund kommen. Dies liegt daran, dass der Status bei der nächsten Ausführung der Migrationen anders als erwartet wird.

+0

mit Linux (Minze 12). Gibt es etwas, was ich als Linux-Benutzer beachten sollte? – kostja

+0

Funktioniert, danke. – kostja

37

Rails 3 bietet einen allgemeinen Befehl für den Zugriff auf den richtigen Datenbank-Client und den Namen der richtigen Datenbank für Ihre aktuelle Umgebung. Dieser Befehl ist rails dbconsole die

$ rails db 
SQLite version 3.6.12 
Enter ".help" for instructions 
Enter SQL statements terminated with a ";" 
sqlite> 
zu rails db verkürzt werden kann

Dieser Befehl bietet nicht viel mehr als Gazler Antwort und in der Tat seine Ratschläge der Konsole ist ein guter Rat jedoch die Plus-Seite für diese Methode zu verwenden, ist, dass es Verwenden Sie den richtigen Client, wenn sich Ihre Datenbank in anderen Umgebungen unterscheidet.

+1

eine andere nette Abkürzung Schienen bietet hier, danke – kostja

8

Verwendung

SQLite> .tables 

dies wird Ihnen die Liste aller Tabellen in der ausgewählten Datenbank vorhanden

@@ die consol

SQLite> rails dbconsole 

@@ zu aktivieren Tabellen zeigen

SQLite>.tables 

@@ alle Zeilen in einer Tabelle zu zeigen

SQLite> select * from posts 
5

Es ist eine große Anwendung sqlite3 Datenbanken zu durchsuchen. SQLite Database Browser.

P.S. Sie haben erwähnt, dass Sie Aptana Studio verwenden. Ich habe mein RoR-Lernen mit dieser IDE begonnen, aber später habe ich Sublime Text entdeckt und wollte nie etwas anderes verwenden, da ich es dir rate, es zu überprüfen.

Prost

+4

Danke für die Tipps @ Dmitry, +1. Ich habe einen kurzen Blick auf den SQLite Db Browser geworfen, aber es hat mich davon abgehalten zu sehen, dass die letzte stabile Version im Jahr 2005 veröffentlicht wurde und die Entwicklung 2009 gestoppt wurde. Jetzt verwende ich das [SQLite Manager Plugin für Firefox] (https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/). Und ja, die Arbeit mit Aptana war eine kurze und unangenehme Erfahrung. Aus Java kommend und mit IntelliJ arbeitend, habe ich mich für die erstaunliche [RubyMine IDE] (http://www.jetbrains.com/ruby/) entschieden und habe seitdem nicht mehr zurückgeschaut :) – kostja

+0

danke für das Teilen des SQLite Manager Plugins für firefox ... ich wusste nichts über dieses –

+1

Update: SQLite Database Browser scheint wieder aktiv zu sein. Das letzte offiziell veröffentlichte Update stammt vom Januar 2016, und zum Zeitpunkt dieses Schreibens war das letzte [github commit auf dem Projekt] (https://github.com/sqlitebrowser/sqlitebrowser) vor 12 Stunden. –

0

Sie können Online-Zugriff auf die Datenbank haben, wenn Sie activeadmin verwenden.

Fügen Sie einfach den Edelstein activeadmin-sqlpage:

gem 'activeadmin-sqlpage' 

Und activeadmin Seite erstellen:

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

Ihren Server neu starten. Gehen Sie dann zum Admin-Panel und navigieren Sie durch das Menü SQL. Geben Sie einen beliebigen SQL-Befehl ein und drücken Sie die Taste Ctrl+Enter oder Submit.

0

Terminal öffnen und diesen Befehl eingeben. Dies öffnet eine Rails-Konsole, um die Datenbank abzufragen.

rails c 

Zur Liste aller Modelle erhalten Sie den folgenden Befehl

ActiveRecord::Base.connection.tables 

Beispiel verwenden können: [ "schema_migrations", "ar_internal_metadata", "Kategorien", "items"]

Aus der Liste der Modelle können Sie erste, letzte oder alle Datensätze erhalten.

Category.all