Назад в блог

Настройка Ruby on Rails с PostgreSQL

Настройка Ruby on Rails с PostgreSQL

Среди всех доступных систем управления базами данных, PostgreSQL является одной из самых популярных. Это известная система баз данных с открытым исходным кодом, славящаяся своей надежностью, богатым функционалом и производительностью. Поскольку PostgreSQL пользуется большой популярностью, она поддерживается практически всеми основными веб-фреймворками. Как и ее конкуренты MySQL и SQLite, PostgreSQL также имеет свои сильные и слабые стороны.

Ruby on Rails — это популярный веб-фреймворк, написанный на Ruby. Это фреймворк, независимый от базы данных, что означает, что он может работать с самыми разными БД. По умолчанию Rails предполагает использование SQL для работы с базами данных. Тем не менее, он также поддерживает интеграцию с PostgreSQL.

Это руководство поможет вам настроить PostgreSQL для вашего приложения на Ruby on Rails.

Ruby on Rails и PostgreSQL

Как PostgreSQL, так и Ruby on Rails доступны на любом дистрибутиве UNIX/Linux. Они должны быть доступны в стандартных репозиториях пакетов.

Альтернативный метод — использование RVM (Ruby Version Manager). Это специализированный инструмент для управления установками Ruby on Rails. Преимущество этого подхода заключается в том, что RVM создаст локальную установку Ruby on Rails. Он также может управлять несколькими версиями Ruby и легко переключаться между ними. Вот руководство, в котором подробно описаны шаги по установке Ruby on Rails с помощью RVM на Ubuntu.

Что касается PostgreSQL, ознакомьтесь с этим кратким руководством по установке и настройке PostgreSQL на Ubuntu.

  • Установка RVM

Процесс установки RVM довольно прост благодаря предлагаемому скрипту установки. Скрипт автоматически определяет систему Linux, а затем скачивает и устанавливает все необходимые пакеты. Нам понадобятся GPG-ключи RVM для проверки пакетов. Это гарантирует, что полученные пакеты не подделаны. Сначала добавьте GPG-ключи RVM:

gpg_recv_keys Ruby on Rails with PostgreSQL

Затем запустите скрипт установки RVM:

install_rvm Ruby on Rails with PostgreSQL

Наконец, проверьте установку:

verify_install

  • Установка Rails

Теперь мы можем использовать RVM для установки дополнительных компонентов. Установите фреймворк Rails с помощью RVM:

gem_install_rails Ruby on Rails with PostgreSQL

  • Установка PostgreSQL

Для следующего шага требуется предварительно установленная в системе PostgreSQL. По умолчанию самый простой способ установить PostgreSQL — использовать стандартный менеджер пакетов. Он доступен для всех основных дистрибутивов Linux. Посетите страницу загрузки PostgreSQL для ознакомления со всеми доступными методами установки. В Ubuntu следующие команды настроят репозиторий PostgreSQL и сразу же установят его:

postgresql_get

add_postgresql_keys

apt_and_postgresql_update Ruby on Rails with PostgreSQL

Чтобы включить поддержку PostgreSQL, нам нужно установить pg gem. Он позволяет взаимодействовать с PostgreSQL из кода Ruby:

gem_install_pg

  • Настройка PostgreSQL

После установки мы настроим инструменты, которые понадобятся для наших проектов. Сначала переключитесь на пользователя PostgreSQL:

Войдите в оболочку PostgreSQL:

psql Ruby on Rails with PostgreSQL

В контексте PostgreSQL мы теперь создадим новую роль (классически известную как пользователь). PostgreSQL имеет свой собственный формат ролей и прав доступа. Не забудьте использовать подходящее имя пользователя и надежный пароль:

create_role

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

Укажите Rails создать новое приложение Rails, настроенное на использование PostgreSQL в качестве базы данных:

rails_new_dummy_app

Это создаст новый каталог с именем пользователя приложения. Rails обычно ожидает, что имя пользователя базы данных и имя приложения будут совпадать. Следующим шагом является настройка конфигурации базы данных Rails. Конфигурационный файл находится по следующему пути:

Файл database.yml содержит данные, описывающие соответствующую базу данных для текущего окружения Rails. Как следует из имени файла, он использует YAML. YAML — это удобный для человека стандарт сериализации данных для всех языков программирования.

По умолчанию Rails ожидает разные базы данных для разных окружений, например, development, test, и production. Это полезно в различных ситуациях, например, Rails будет очищать и пересоздавать базу данных test при каждом запуске тестов Rails.

Вот пример файла database.yml, который содержит базы данных development и test :

db_yaml

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

Этот шаг завершится ошибкой, если конфигурационный файл PostgreSQL pg_hba.conf содержит неверные настройки. Файл находится по следующему пути:

Целевой строкой является следующая. Вместо peer, метод аутентификации должен быть md5:

Измените строку:

pg_hba_conf

Чтобы изменения вступили в силу, необходимо перезапустить службу PostgreSQL:

Затем снова запустите настройку базы данных:

rake_db_setup

Запуск Rails

Для запуска сервера Rails требуется следующий дополнительный компонент. Обратите внимание, что для этого вам понадобится установленный Node.jsyarn):

webpacker_install

Теперь приложение Rails должно быть готово к запуску. Запустите сервер Rails:

rails_server

Сервер должен быть доступен по следующему URL-адресу. Он откроет целевую страницу Rails:

Чтобы сделать целевую страницу более интересной, создайте scaffold:

create_scaffold

rakedb_migrate

Наконец, запустите сервер и снова перейдите по URL-адресу. Теперь мы можем управлять публикациями (создавать, редактировать и удалять публикации).

Заключение

Это базовая настройка Ruby on Rails с PostgreSQL. Существует официальное руководство по началу работы, которое поможет вам в дальнейшем использовании Rails. Созданное нами демонстрационное приложение использует PostgreSQL. Таким образом, вы можете создать любое приложение, использующее PostgreSQL для своей работы.

Приятной работы!

author

Pranay Kapgate

Автор · CloudSigma

Preslav Dobrev — креативный дизайнер в CloudSigma, сосредоточенный на формировании последовательного корпоративного образа с помощью традиционных и инновационных маркетинговых каналов. Он умело сочетает художественное видение со стратегическим маркетингом, создавая убедительные истории бренда.

Комментарии

Комментариев пока нет. Будьте первым.