2012-04-16 1 views
44

Я хотел бы просмотреть данные в моей БД при разработке с помощью Rails (фактически во всех трех из них разработка, тестирование и производство). Я не касался конфигураций, поэтому это должно быть легко, но я не смог найти какую-либо полезную информацию.Как получить доступ к стандартным рельсам sqlite db?

Я понятия не имею, что такое строка подключения или где ее вводить, поскольку Aptana (v.3), похоже, не имеет хорошего старого представления источника данных источника, который я знаю из Eclipse. Может ли кто-нибудь указать мне в правильном направлении?

EDIT: Я работаю на Linux - Mint 12

ответ

71

Вы забыли упомянуть ОС вы используете.

Один из способов - использовать команду sqlite3 в вашем терминале.

sqlite3 db/development.sqlite3 

Однако для таких вещей, как проверка ваших рядов, вам лучше использовать консоль рельсов.

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

ПРИМЕЧАНИЕ: Не изменяйте БД схемы непосредственно через sqlite3, то, что вы можете использовать, если вы пришли из другого фона веб стека. Это связано с тем, что при следующем запуске миграции состояние будет отличаться от ожидаемого.

+0

используя linux (мята 12). Есть ли что-то, что я должен знать как пользователь linux? – kostja

+0

Работы, спасибо. – kostja

37

Rails 3 предоставляет общую команду для доступа к правильному клиенту базы данных и передает имя правильной базы данных для вашей текущей среды. Эта команда rails dbconsole, который может быть сокращен до rails db

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

Эта команда не предлагает гораздо больше, чем ответ Gazler и на самом деле его совет использовать консоль хороший совет, однако Плюсом этого метода является то, что он будет используйте правильный клиент, если ваша БД отличается в других средах.

+1

еще один хороший рельсы для ярлыков здесь, спасибо – kostja

8

использование

SQLite> .tables 

это даст вам список всех таблиц существуют в выбранной базе данных

@@ активировать консоль

SQLite> rails dbconsole 

@@ показать таблицы

SQLite>.tables 

@@ для отображения всех строк в таблице

SQLite> select * from posts 
5

Существует большое приложение для просмотра баз данных sqlite3. SQLite Database Browser.

P.S. Вы упомянули, что используете студию Aptana. Я также начал изучение RoR с помощью этой IDE, но позже обнаружил Sublime Text и никогда не хотел использовать что-либо еще с тех пор, я советую вам проверить это.

Приветствия

+4

Спасибо за советы @Dmitry, +1. Я быстро взглянул на SQLite Db Browser, но мне не хотелось видеть, что последняя стабильная версия была выпущена в 2005 году, а развитие остановлено в 2009 году. Теперь я использую плагин SQLite Manager для firefox (https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/). И да, работа с Аптаной была непродолжительным и неприятным опытом. Исходя из Java и работая с IntelliJ, я решил усовершенствовать [RubyMine IDE] (http://www.jetbrains.com/ruby/) и не оглядывался назад :) – kostja

+0

Благодарим вас за использование плагина SQLite Manager для firefox ... я не знал об этом –

+1

Обновление: SQLite Database Browser снова активен. Последнее официально выпущенное обновление датируется январем 2016 года, и на момент написания этой статьи последнее время [github commit в проекте] (https://github.com/sqlitebrowser/sqlitebrowser) было 12 часов назад. –

0

Вы можете иметь оперативный доступ к базе данных, если вы используете activeadmin.

Просто добавьте камень activeadmin-sqlpage:

gem 'activeadmin-sqlpage' 

И создать activeadmin страницу:

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

Перезагрузите сервер. Затем перейдите на панель администратора и перейдите в меню SQL. Введите любую команду sql и нажмите Ctrl+Enter или Submit.

0

Открыть терминал и ввести эту команду. Это откроет консоль рельсов для запроса базы данных.

rails c 

Чтобы получить список всех моделей, которые вы можете использовать следующую команду

ActiveRecord::Base.connection.tables 

пример: [ "schema_migrations", "ar_internal_metadata", "категории", "изделия"]

Из списка моделей вы можете получить первую, последнюю или все записи.

Category.all 

 Смежные вопросы

  • Нет связанных вопросов^_^