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

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


Введение

Ruby on Rails использует sqlite3 в качестве базы данных по умолчанию, что отлично работает во многих случаях, но может оказаться недостаточным для вашего приложения. Если вашему приложению требуется масштабируемость, централизация и контроль (или любая другая функция), которые обеспечиваются клиент-серверной базой данных SQL, такой как PostgreSQL или MySQL, вам потребуется выполнить несколько дополнительных шагов, чтобы настроить и запустить ее.

В этом руководстве показано, как настроить среду разработки Ruby on Rails, которая позволит вашим приложениям использовать базу данных PostgreSQL на сервере Ubuntu 14.04. Сначала мы расскажем, как установить и настроить PostgreSQL. Затем мы покажем вам, как создать приложение rails, использующее PostgreSQL в качестве сервера базы данных.

Предпосылки

Для этого руководства требуется рабочая среда разработки Ruby on Rails. Если у вас его еще нет, вы можете следовать руководству по этой ссылке: Как установить Ruby on Rails с помощью rbenv в Ubuntu 14.04.

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

Когда вы будете готовы, давайте установим PostgreSQL.

Установить PostgreSQL

Если у вас еще не установлен PostgreSQL, давайте сделаем это сейчас.

Сначала обновите apt-get:

  1. sudo apt-get update

Затем установите PostgreSQL и его библиотеки разработки:

  1. sudo apt-get install postgresql postgresql-contrib libpq-dev

PostgreSQL теперь установлен, но вы должны создать нового пользователя базы данных, которого будет использовать ваше приложение Rails.

Создать пользователя базы данных

Создайте пользователя суперпользователя PostgreSQL с помощью этой команды (замените выделенное слово своим именем пользователя):

  1. sudo -u postgres createuser -s pguser

Если вы хотите установить пароль для пользователя базы данных, войдите в консоль PostgreSQL с помощью этой команды:

  1. sudo -u postgres psql

Консоль PostgreSQL обозначается приглашением postgres=#. В командной строке PostgreSQL введите эту команду, чтобы установить пароль для созданного вами пользователя базы данных:

  1. \password pguser

Введите желаемый пароль в приглашении и подтвердите его.

Теперь вы можете выйти из консоли PostgreSQL, введя эту команду:

  1. \q

Теперь давайте создадим приложение Rails.

Создать новое приложение Rails

Создайте новое приложение Rails в своем домашнем каталоге. Используйте параметр -d postgresql, чтобы установить PostgreSQL в качестве базы данных, и обязательно замените выделенное слово именем вашего приложения:

  1. cd ~
  2. rails new appname -d postgresql

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

  1. cd appname

Следующим шагом является настройка подключения приложения к базе данных.

Настройка подключения к базе данных

Созданный вами пользователь PostgreSQL будет использоваться для создания баз данных тестирования и разработки вашего приложения. Нам нужно настроить правильные параметры базы данных для вашего приложения.

Откройте файл конфигурации базы данных вашего приложения в вашем любимом текстовом редакторе. Мы будем использовать vi:

  1. vi config/database.yml

В разделе default найдите строку \pool: 5 и добавьте под ней следующие строки. Она должна выглядеть примерно так (замените выделенные части вашим именем пользователя и паролем PostgreSQL):

  host: localhost
  username: pguser
  password: pguser_password

Сохранить и выйти.

Создание баз данных приложений

Создайте базы данных development и test вашего приложения с помощью этой команды rake:

  1. rake db:create

Это создаст две базы данных на вашем сервере PostgreSQL. Например, если имя вашего приложения — \имя_приложения, оно создаст базы данных с именами \имя_приложения_развития и \имя_приложения_тест.

Если на этом этапе вы получите сообщение об ошибке, вернитесь к предыдущему подразделу (Настройка подключения к базе данных), чтобы убедиться, что хост, имя пользователя и пароль в database.yml верны. Убедившись, что информация базы данных верна, попробуйте снова создать базы данных приложения.

Тестовая конфигурация

Самый простой способ проверить, может ли ваше приложение использовать базу данных PostgreSQL, — попытаться запустить ее.

Например, чтобы запустить среду разработки (по умолчанию), используйте эту команду:

  1. rails server

Это запустит ваше приложение Rails на вашем локальном хосте через порт 3000.

Если ваше приложение Rails находится на удаленном сервере и вы хотите получить к нему доступ через веб-браузер, простой способ — привязать его к общедоступному IP-адресу вашего сервера. Сначала найдите общедоступный IP-адрес вашего сервера, а затем используйте его с помощью команды rails server, подобной этой (замените выделенную часть):

  1. rails server --binding=server_public_IP

Теперь у вас должна быть возможность доступа к вашему приложению Rails в веб-браузере через общедоступный IP-адрес сервера на порту 3000:

http://server_public_IP:3000

Если вы видите страницу «Добро пожаловать на борт» Ruby on Rails, ваше приложение правильно настроено и подключено к базе данных PostgreSQL.

Заключение

Теперь вы готовы начать разработку своего приложения Ruby on Rails с PostgreSQL в качестве базы данных на Ubuntu 14.04!

Удачи!