2016-01-09 5 views
0

Я новичок в Ruby on rails. Я создал проект rails, и я хотел бы подключиться к существующей базе данных postgresql (компании, в которой я работаю) и отобразить некоторые данные в моем веб-приложении. Может кто-нибудь помочь, как это сделать?Ruby on rails: Подключение к внешней базе данных Postgresql

+1

Вы закончили Rails Guides по адресу http://guides.rubyonrails.org/? –

+0

Возможно, какой-то код будет полезен здесь? – hd1

ответ

1

Эти указания предполагают, что вы используете некоторую версию Linux. Однако они будут очень похожими на другие операционные системы.

Добавьте 'PostGreSQL' драгоценный камень на ваш Gemfile:

gem 'pg' 

Затем откройте окно терминала в корневом каталоге приложения и выполните команду:

bundle install 

Редактировать postgresql.conf (расположенной на удаленный сервер postgresql) и найдите строку, которая гласит:

#listen_addresses = 'localhost' 

Удалить комментарий и измените его на:

listen_addresses = '192.168.0.14, localhost' 

Замените '192.168.0.14' на ip вашего приложения Rails.

Теперь откройте pg_hba.conf (расположенный на удаленном сервере PostGreSQL) и прокрутите вниз до:

# Put your actual configuration here 

Непосредственно ниже этого введите конфигурацию следующим образом:

# TYPE DATABASE  USER  ADDRESS  METHOD 
local all   all   localhost  md5 
host  all   your_user 192.168.0.14 md5 

После сохранения и тех, файлы выполните команду:

sudo service postgresql restart 

Теперь отредактируйте конфигурацию/данные приложения Rails base.yml:

production: 
    adapter: postgresql 
    encoding: utf8 
    database: the_database_name 
    username: your_user 
    password: your_database_password 
    host: 192.168.0.14 
    port: 5432 
    pool: 10 

development: 
    adapter: postgresql 
    encoding: utf8 
    database: the_database_name 
    username: your_user 
    password: your_database_password 
    host: 192.168.0.14 
    port: 5432 
    pool: 10 

Change 'the_database_name', 'ваш_пользователь' и 'your_database_password' на соответствующие значения.

После этого вы должны быть хорошими.

+0

Большое спасибо, Питер! Я попробую ;) –

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