web-dev-qa-db-fra.com

Comment accéder à la base de données sqlite par défaut de Rails?

Je souhaite afficher les données de ma base de données lors du développement avec Rails (dans les trois cas, développement, test et production). Je n'ai pas touché aux configs, donc ça devrait être facile, mais je n'ai pas pu trouver d'informations utiles.

Je n'ai aucune idée de ce que la chaîne de connexion pourrait être ou de l'endroit où la saisir, car Aptana (v.3) semble manquer de la bonne vieille source de données vue Explorer que je connais d'Eclipse. Quelqu'un pourrait-il me diriger dans la bonne direction?

EDIT: je travaille sur Linux - Mint 12

48
kostja

Vous avez négligé de mentionner le système d'exploitation que vous utilisez.

Une solution consiste à utiliser la commande sqlite3 dans votre terminal.

sqlite3 db/development.sqlite3

Toutefois, pour des tâches telles que l'inspection de vos lignes, il serait préférable d'utiliser une console Rails.

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

REMARQUE: Ne modifiez pas votre schéma de base de données directement via sqlite3, auquel vous pourriez être habitué si vous venez d'un arrière-plan de pile Web différent. En effet, la prochaine fois que vous exécuterez les migrations, l'état sera différent de celui attendu par Rails.

74
Gazler

Rails 3 fournit une commande générique pour accéder au bon client de base de données et transmettre le nom de la bonne base de données pour votre environnement actuel. Cette commande est Rails dbconsole qui peut être raccourcie à Rails db

$ Rails db
SQLite version 3.6.12
Enter ".help" for instructions
Enter SQL statements terminated with a ";"
sqlite> 

Cette commande n'offre pas beaucoup plus que la réponse de Gazler et en fait, son conseil d'utiliser la console est un bon conseil, mais le côté positif de cette méthode est qu'il utilisera le bon client si votre base de données est différente dans d'autres environnements.

40
Steve Weet

utilisation 

SQLite> .tables

cela vous donnera la liste de toutes les tables présentes dans la base de données sélectionnée

@@ pour activer la console 

SQLite> Rails dbconsole

@@ pour montrer les tables 

SQLite>.tables

@@ pour afficher toutes les lignes d'un tableau 

SQLite> select * from posts
8
Tarun Gupta

Il existe une excellente application pour parcourir les bases de données sqlite3. Navigateur de base de données SQLite .

P.S . Vous avez mentionné que vous utilisez Aptana studio. J'ai aussi commencé mon apprentissage sur RoR avec cet IDE, mais plus tard, j'ai découvert Sublime Text et je ne voulais plus rien utiliser car je vous conseille de le vérifier.

À votre santé

6
Dmitry Matveev

Vous pouvez avoir un accès en ligne à votre base de données si vous utilisez activeadmin.

Il suffit d’ajouter la gemme activeadmin-sqlpage :

gem 'activeadmin-sqlpage'

Et créez la page activeadmin:

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

Redémarrez votre serveur. Ensuite, allez au panneau d'administration et naviguez dans le menu SQL. Entrez une commande sql et appuyez sur le bouton Ctrl+Enter ou Submit.

0
oklas

Si vous utilisez RubyMine IDE, vous pouvez accéder à la source de données SQLite à partir de là. Vous pouvez exécuter des requêtes ou modifier des données dans la base de données à l'aide de l'interface graphique.

0
Ievgen

Ouvrez le terminal et tapez cette commande. Cela ouvrira une console Rails pour interroger la base de données.

Rails c

Pour obtenir la liste de tous les modèles, vous pouvez utiliser la commande suivante

ActiveRecord::Base.connection.tables

exemple: ["schema_migrations", "ar_internal_metadata", "categories", "articles"]

Dans la liste des modèles, vous pouvez obtenir le premier, le dernier ou tous les enregistrements. 

Category.all
0
supritshah1289