Как использовать 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:
- sudo apt-get update
Затем установите PostgreSQL и его библиотеки разработки:
- sudo apt-get install postgresql postgresql-contrib libpq-dev
PostgreSQL теперь установлен, но вы должны создать нового пользователя базы данных, которого будет использовать ваше приложение Rails.
Создать пользователя базы данных
Создайте пользователя суперпользователя PostgreSQL с помощью этой команды (замените выделенное слово своим именем пользователя):
- sudo -u postgres createuser -s pguser
Если вы хотите установить пароль для пользователя базы данных, войдите в консоль PostgreSQL с помощью этой команды:
- sudo -u postgres psql
Консоль PostgreSQL обозначается приглашением postgres=#
. В командной строке PostgreSQL введите эту команду, чтобы установить пароль для созданного вами пользователя базы данных:
- \password pguser
Введите желаемый пароль в приглашении и подтвердите его.
Теперь вы можете выйти из консоли PostgreSQL, введя эту команду:
- \q
Теперь давайте создадим приложение Rails.
Создать новое приложение Rails
Создайте новое приложение Rails в своем домашнем каталоге. Используйте параметр -d postgresql
, чтобы установить PostgreSQL в качестве базы данных, и обязательно замените выделенное слово именем вашего приложения:
- cd ~
- rails new appname -d postgresql
Затем перейдите в каталог приложения:
- cd appname
Следующим шагом является настройка подключения приложения к базе данных.
Настройка подключения к базе данных
Созданный вами пользователь PostgreSQL будет использоваться для создания баз данных тестирования и разработки вашего приложения. Нам нужно настроить правильные параметры базы данных для вашего приложения.
Откройте файл конфигурации базы данных вашего приложения в вашем любимом текстовом редакторе. Мы будем использовать vi:
- vi config/database.yml
В разделе default
найдите строку \pool: 5 и добавьте под ней следующие строки. Она должна выглядеть примерно так (замените выделенные части вашим именем пользователя и паролем PostgreSQL):
host: localhost
username: pguser
password: pguser_password
Сохранить и выйти.
Создание баз данных приложений
Создайте базы данных development
и test
вашего приложения с помощью этой команды rake:
- rake db:create
Это создаст две базы данных на вашем сервере PostgreSQL. Например, если имя вашего приложения — \имя_приложения, оно создаст базы данных с именами \имя_приложения_развития и \имя_приложения_тест.
Если на этом этапе вы получите сообщение об ошибке, вернитесь к предыдущему подразделу (Настройка подключения к базе данных), чтобы убедиться, что хост
, имя пользователя
и пароль
в database.yml
верны. Убедившись, что информация базы данных верна, попробуйте снова создать базы данных приложения.
Тестовая конфигурация
Самый простой способ проверить, может ли ваше приложение использовать базу данных PostgreSQL, — попытаться запустить ее.
Например, чтобы запустить среду разработки (по умолчанию), используйте эту команду:
- rails server
Это запустит ваше приложение Rails на вашем локальном хосте через порт 3000.
Если ваше приложение Rails находится на удаленном сервере и вы хотите получить к нему доступ через веб-браузер, простой способ — привязать его к общедоступному IP-адресу вашего сервера. Сначала найдите общедоступный IP-адрес вашего сервера, а затем используйте его с помощью команды rails server
, подобной этой (замените выделенную часть):
- 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!
Удачи!