Как использовать MySQL в приложении Ruby on Rails

Ruby on Rails по умолчанию использует SQLite в качестве базы данных, но он также поддерживает использование MySQL. SQLite является отличной альтернативой традиционной базе данных, такой как MySQL, но у нее есть некоторые ограничения, особенно в отношении параллелизма и масштабирования до высокой нагрузки, что может сделать MySQL лучшим выбором для вашего проекта.

Примечание

Все команды в этом руководстве должны выполняться от имени пользователя Rails. Это учетная запись пользователя, которую вы использовали для установки и запуска Ruby on Rails.

Требования

  • Облачный сервер под управлением Linux (Ubuntu 16.04).
  • Установленный и запущенный MySQL.
  • Пароль root MySQL.
  • Установленный и запущенный Ruby on Rails.
  • Базовое знакомство с Ruby on Rails.

Добавьте MySQL Gem

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

sudo apt-get update
sudo apt-get install mysql-client libmysqlclient-dev

После завершения установки установите mysql2 gem, который позволит Rails подключаться к MySQL:

gem install mysql2

Настройте приложение Rails

Следующим шагом будет включение поддержки MySQL в вашем приложении Ruby on Rails.

Создайте приложение

Сначала создайте приложение, используя флаг -d mysql:

rails new [application name] -d mysql

Например, команда для создания приложения с именем my-app имеет следующий вид:

rails new my-app -d mysql

Флаг -d сообщает Ruby on Rails, что вы будете использовать MySQL для этого приложения.

Пароль корневого MySQL

Для следующего шага вам понадобится пароль корневого MySQL. По умолчанию он совпадает с паролем пользователя root сервера при его создании.

Чтобы войти в MySQL в качестве администратора, введите следующую команду:

mysql -u root -p

Вам будет предложено ввести пароль.

Если пароль введен правильно, вы войдете в клиент MySQL. Вы можете вернуться в командную строку с помощью:

quit;

Отредактируйте конфигурационный файл приложения

Далее перейдите в каталог, который Ruby on Rails создал для приложения:

cd my-app

Отредактируйте файл config/database.yml:

nano config/database.yml

Прокрутите вниз до строки password: в разделе default и добавьте пароль root MySQL:

password: [MySQL password]

Например, если корневой пароль MySQL — «XPmMxZf», отредактируйте строку следующим образом:

password: XPmMxZf

Сохраните и выйдите из файла.

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

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

rake db:create

Протестируйте конфигурацию

Чтобы протестировать конфигурацию, просто запустите приложение rails и проверьте его в браузере.

Из каталога приложения используйте команду:

bin/rails s --binding=0.0.0.0 
Примечание

Привязка сервера к 0.0.0.0 позволяет просматривать приложение, используя публичный IP-адрес вашего сервера.

Сервер должен ответить:

[user@localhost my-app]$ bin/rails server
=> Booting Puma
=> Rails 5.0.0.1 application starting in development on http://localhost:3000
=> Run `rails server -h` for more startup options
Puma starting in single mode...
* Version 3.6.0 (ruby 2.3.1-p112), codename: Sleepy Sunday Serenity
* Min threads: 5, max threads: 5
* Environment: development
* Listening on tcp://localhost:3000
Use Ctrl-C to stop

Переключитесь на браузер и посетите сайт «http://your-ip-address:3000». Например, если ваш IP-адрес 198.162.0.1, вы перейдете на http://198.162.0:3000.

Если все в порядке и Rails смог подключиться к MySQL, вы увидите стандартную страницу приветствия Rails.

Оцените статью
cdelat.ru
Добавить комментарий