Поиск по сайту:

Как настроить Ruby on Rails с помощью Postgres


Статус: устарело

Эта статья устарела и больше не поддерживается.

Причина

Теперь мы предоставляем актуальные руководства по использованию Rails с Postgres, адаптированные для отдельных платформ.

Смотрите вместо этого

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

  • Как использовать PostgreSQL с приложением Ruby on Rails в Ubuntu 18.04
  • Как использовать PostgreSQL с приложением Ruby on Rails на macOS

Введение

Рубин. Rails не зависит от базы данных, что означает, что его можно использовать с множеством различных баз данных. По умолчанию предполагается, что используется MySQL, но вместо этого его довольно легко использовать с Postgres.

Это руководство поможет вам создать приложение Rails, использующее базу данных Postgres. Вы можете следовать инструкциям на своем локальном компьютере или на VPS.

Требования к установке

Установка Rails с помощью RVM

Самый простой способ установить Rails — использовать установленный curl (как вы это сделаете, зависит от вашей ОС). Если у вас уже установлен RVM, перейдите к следующему разделу.

RVM может автоматически установить Ruby и Rails в процессе установки. Для этого выполните эту команду:

\curl -L https://get.rvm.io | bash -s stable --rails

Примечание: вы должны просмотреть сценарий установки RVM перед его запуском (или любой другой удаленный сценарий, который вы передаете в bash.

RVM сам установится в вашей системе. Теперь вы можете использовать его для управления версиями Ruby. Это полезно, так как вам могут потребоваться разные версии Ruby для разных проектов. RVM также установил для нас гем Rails.

Установка Rails с помощью RubyGems

Если у вас уже установлен RVM, вам не нужно его переустанавливать. Вместо этого вы можете просто установить Rails, установив гем:

gem install rails

Это установит Rails и любые другие необходимые драгоценные камни.

Установка Постгреса

Способ установки Postgres зависит от вашей ОС. Полный список смотрите на postgresql.org/download. Как правило, проще всего использовать менеджер пакетов, такой как apt-get в Ubuntu или Homebrew в OS X.

Если вы устанавливаете Postgres на локальный компьютер, вы также можете установить графический интерфейс (хотя в этом руководстве предполагается использование командной строки). pgAdmin — не самый красивый инструмент в мире, но он делает свою работу.

Наконец, вам нужно установить гем pg, чтобы вы могли взаимодействовать с Postgres из кода Ruby. Для этого:

gem install pg

Настройка Постгреса

Создайте пользователя Postgres для приложения Rails, которое мы создадим на следующем шаге. Для этого переключитесь на пользователя Postgres:

su - postgres

После этого получите доступ к Postgres:

psql

Затем создайте пользователя (или «роль», как это называет Postgres):

create role myapp with createdb login password 'password1';

Создание вашего приложения Rails

Чтобы создать приложение Rails, настроенное для Postgres, выполните следующую команду:

rails new myapp --database=postgresql

Это создает каталог с именем \myapp, в котором находится приложение с именем \myapp (вы можете назвать его как угодно при запуске команды). Rails ожидает, что имя пользователя базы данных будет совпадать с именем приложения, но при необходимости вы можете легко изменить это.

Теперь мы настроим, с какой базой данных будет общаться Rails. Это делается с помощью файла database.yml, расположенного по адресу:

RAILS_ROOT/config/database.yml

Примечание. RAILS_ROOT — это корневой каталог Rails. В приведенном выше примере это будет /myapp (относительно вашего текущего местоположения).

Файл database.yml используется Rails для подключения к соответствующей базе данных для текущей среды Rails. Он использует YAML, стандарт сериализации данных. Здесь перечислены несколько баз данных для разных сред; разработка, тестирование и производство. По умолчанию Rails ожидает разные базы данных для каждой среды. Это удобно, потому что, например, тестовая база данных очищается и перестраивается каждый раз, когда вы запускаете тесты Rails. Для каждой базы данных убедитесь, что имя пользователя и пароль совпадают с именем пользователя и паролем, которые вы предоставили пользователю Postgres.

После настройки ваш файл database.yml должен содержать что-то вроде этого:

development:
  adapter: postgresql
  encoding: unicode
  database: myapp_development
  pool: 5
  username: myapp
  password: password1

test:
  adapter: postgresql
  encoding: unicode
  database: myapp_test
  pool: 5
  username: myapp
  password: password1

Затем вы можете запустить:

rake db:setup

Это создаст базу данных для разработки и тестирования, установит их владельцев для указанного пользователя и создаст таблицы \schema_migrations в каждой. Эта таблица используется для записи ваших миграций к схемам и данным.

Бегущие рельсы

Теперь вы сможете запустить свое приложение Rails:

rails server

Если вы перейдете на localhost:3000, вы должны увидеть целевую страницу Rails. Однако это мало что дает. Для взаимодействия с нашей базой данных создадим скаффолд:

rails g scaffold Post title:string body:text
rake db:migrate

Теперь перейдите к руководству по началу работы с Rails для более вводных операций.

Ваше приложение Rails теперь общается с базой данных Postgres!