2012-04-16 21 views
44

Tôi muốn xem dữ liệu trong DB của mình trong khi phát triển với Rails (thực sự trong cả 3 phát triển, kiểm tra và sản xuất). Tôi đã không chạm vào các cấu hình, vì vậy nó phải được dễ dàng, nhưng tôi đã không thể tìm thấy bất kỳ thông tin có thể sử dụng.Làm thế nào để truy cập mặc định Rails sqlite db?

Tôi không biết chuỗi kết nối có thể là gì hoặc nhập vào đâu, vì Aptana (v.3) dường như thiếu chế độ xem thám hiểm nguồn dữ liệu cũ tốt mà tôi biết từ Eclipse. Ai đó có thể chỉ cho tôi đi đúng hướng không?

EDIT: Tôi đang làm việc trên Linux - Mint 12

Trả lời

71

Bạn đã quên không đề cập đến hệ điều hành bạn đang sử dụng.

Một cách là sử dụng lệnh sqlite3 trong thiết bị đầu cuối của bạn.

sqlite3 db/development.sqlite3 

Tuy nhiên, đối với những thứ như kiểm tra hàng, bạn nên sử dụng bảng điều khiển đường ray tốt hơn.

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

LƯU Ý: Không thay đổi schema DB của bạn trực tiếp thông qua sqlite3, một cái gì đó bạn có thể được sử dụng để nếu bạn đến từ một trang web đống nền khác nhau. Điều này là do lần sau khi bạn di chuyển, trạng thái sẽ khác với những gì đường ray mong đợi.

+0

bằng linux (mint 12). Có điều gì tôi cần phải nhận thức được như là người dùng Linux? – kostja

+0

Hoạt động, cảm ơn bạn. – kostja

37

Rails 3 cung cấp lệnh chung để truy cập đúng trình khách cơ sở dữ liệu và chuyển tên cơ sở dữ liệu chính xác cho môi trường hiện tại của bạn. Lệnh này là rails dbconsole có thể được rút ngắn xuống còn rails db

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

Lệnh này không cung cấp nhiều hơn câu trả lời Gazler và trong thực tế tư vấn của mình để sử dụng giao diện điều khiển là lời khuyên tốt tuy nhiên phía cộng cho phương pháp này là nó sẽ sử dụng đúng máy khách nếu DB của bạn khác trong môi trường khác.

+1

một đường ray tắt đẹp khác cung cấp ở đây, cảm ơn – kostja

8

sử dụng

SQLite> .tables 

này sẽ cung cấp cho bạn danh sách tất cả các bảng tồn tại trong cơ sở dữ liệu được lựa chọn

@@ để kích hoạt consol

SQLite> rails dbconsole 

@@ để hiển thị bảng

SQLite>.tables 

@@ để hiển thị tất cả các hàng trong một bảng

SQLite> select * from posts 
5

Có một ứng dụng tuyệt vời để duyệt qua cơ sở dữ liệu sqlite3. SQLite Database Browser.

P.S. Bạn đã đề cập rằng bạn đang sử dụng Aptana studio. Tôi đã bắt đầu học RoR của tôi với IDE này là tốt nhưng sau đó đã phát hiện ra Sublime Text và không bao giờ muốn sử dụng bất cứ điều gì khác kể từ khi, tôi khuyên bạn nên kiểm tra xem nó ra.

Chúc mừng

+4

Cảm ơn bạn đã đọc các mẹo @Dmitry, +1. Tôi đã xem nhanh trình duyệt Db SQLite, nhưng nó không khuyến khích tôi thấy rằng phiên bản ổn định cuối cùng đã được phát hành vào năm 2005 và sự phát triển đã ngừng vào năm 2009. Bây giờ tôi đang sử dụng [Trình quản lý SQLite plugin cho firefox] (https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/). Và vâng, làm việc với Aptana là một trải nghiệm ngắn và khó chịu. Đến từ Java và đã làm việc với IntelliJ, tôi đã giải quyết cho [RubyMine IDE] tuyệt vời (http://www.jetbrains.com/ruby/) và không nhìn lại từ :) – kostja

+0

cảm ơn bạn đã chia sẻ plugin Trình quản lý SQLite cho firefox ... tôi không biết về bản cập nhật này –

+1

: Trình duyệt cơ sở dữ liệu SQLite dường như hoạt động trở lại. Bản cập nhật chính thức được phát hành cuối cùng vào tháng 1 năm 2016 và theo văn bản này, [github cam kết về dự án] gần đây nhất (https://github.com/sqlitebrowser/sqlitebrowser) là 12 giờ trước. –

0

Bạn có thể truy cập trực tuyến vào cơ sở dữ liệu của mình nếu bạn sử dụng activeadmin.

Chỉ cần thêm đá quý activeadmin-sqlpage:

gem 'activeadmin-sqlpage' 

Và tạo trang activeadmin:

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

Khởi động lại máy chủ của bạn. Sau đó chuyển đến bảng điều khiển quản trị và điều hướng menu SQL. Nhập bất kỳ lệnh sql nào và nhấn nút Ctrl+Enter hoặc Submit.

0

Thiết bị đầu cuối mở và nhập lệnh này. Điều này sẽ mở một bảng điều khiển đường ray để truy vấn cơ sở dữ liệu.

rails c 

Để có được danh sách của tất cả các mô hình bạn có thể sử dụng lệnh sau

ActiveRecord::Base.connection.tables 

dụ: [ "schema_migrations", "ar_internal_metadata", "loại", "items"]

Từ danh sách mô hình, bạn có thể nhận được bản ghi đầu tiên, cuối cùng hoặc tất cả.

Category.all 
Các vấn đề liên quan