
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.
