четверг, 3 июня 2010 г.

RoR: связь Ruby On Rails и PostgreSQL

В продолжение предыдущих статей по Ruby On Rails опишу, как настроить этот замечательный фреймворк на взаимодействие с СУБД PostrgreSQL.

Итак, допустим у Вас есть Ruby On Rails приложение test.
Устанавливаем PostgreSQL:
sudo aptitude install postgresql-8.3
 Далее, заходим под юзером postgres:
sudo su postgres
Запускаем psql и добавляем пользователя, под которым будет ходить в базу наше приложение:
 CREATE USER your_db_username WITH CREATEDB PASSWORD 'your_db_password'

Тогда надо зайти в директорию с этим приложением и открыть файл config/database.yml. Секция development должна выглядеть следующим образом
development:
  adapter: postgresql
  host: localhost
  port: 5432
  username: your_db_username
  password: your_db_password
  database: your_rails_project_development
  schema_search_path: public
  encoding: utf8
  template: template1
Комментировать тут ничего не буду, все параметры говорят сами за себя.
Что радует, в Rails возможно прописывать разные базы для разработки, тестинга и рабочего режима приложения.
После этого необходимо установить gem, отвечающий за работу ruby  и postgres.
Например, сделать это можно так:
gem install postgres
Или так:
gem install activerecord-postgresql-adapter
Однако я, по своим личным убеждениями, предпочитаю ставить из репозитория debian:
sudo aptitude install libpgsql-ruby1.8
После всех этих трудов создаем базу с помощью rake:
rake db:create
И все, Ruby On Rails уже имеет свою базу в PostgreSQL!

2 комментария:

Анонимный комментирует...

Неплохой набор из двух статей можно прочитать здесь: http://www.unixfun.ru/archives/83 и здесь: http://www.unixfun.ru/archives/76

Там на мой взгляд подробнее описана настройка PostgreSQL.

Синий за Русь комментирует...

Я написал интересную статью по полному развёртыванию rails с PG: http://asiniy.ru/posts/7