ホーム > カテゴリ > Ruby・Ruby on Rails >

MariaDBでRailsプロジェクトを作成する [WSL/Ubuntu環境]

CentOSで各種サーバー構築(目次)

WSL(Windows Subsystem for Linux)のUbuntuの環境でデータベースに「MariaDB」を使用してRailsプロジェクトを作成します。

やること

MyAppプロジェクトを作成する

1. 開発ライブラリのインストール

前回のApache/MariaDB/PHPとphpMyAdminのインストールで「sudo apt-get install libmysqld-dev」を実行していれば、以下は不要です。

開発ライブラリをインストールしないまま、bundle installをするとgem mysql2が次のエラーを吐き出します。mysql2はMariaDBで使用します。

An error occurred while installing mysql2 (0.5.2), and Bundler cannot continue. Make sure that `gem install mysql2 -v '0.5.2' --source 'https://rubygems.org/'` succeeds before bundling.

WSLのUbuntu側で次のコマンドでライブラリをインストールすればOK。

sudo apt update && sudo apt upgrade openssl

sudo apt-get install libmysqlclient-dev

2. MariaDBの設定

データベース名のMyApp_developmentの名称は任意です。

mysql -u root -p

// ユーザーの作成
CREATE USER 'ユーザー名' IDENTIFIED BY 'パスワード';

// データベースの作成
CREATE DATABASE MyApp_development;

// ユーザーにデータベース(MyApp_development)の権限を付与する
GRANT ALL PRIVILEGES ON MyApp_development.* TO 'ユーザー名';


// --- 関連するコマンド
// データベースの一覧
SHOW DATABASES;
// テーブルの一覧
SHOW TABLES;
// ユーザーの一覧を表示する
SELECT host, user, password FROM mysql.user;
// ユーザーの削除
DROP USER ユーザー名;
// データベースの削除
DROP DATABASE データベース名; 

Railsコマンドの「bin/rails db:create」でデータベースを作成可能ですが、権限の関連があるのでmysqlコマンドでデータベースを作成します。

3. Railsプロジェクトの作成

// カレントディレクトリの移動
cd /mnt/d/任意のディレクトリ
※Cドライブは/mnt/c、Dドライブは/mnt/d

// プロジェクトの生成
rails new MyApp -d mysql

// MyApp/config/database.ymlの編集
// ---
development:
  <<: *default
  database: MyApp_development
  username: ユーザー名
  password: パスワード
// ---

cd /mnt/d/任意のディレクトリ/MyApp

// モデルの作成(モデル/マイグレーションファイルの生成)
bin/rails g model Task name:string description:text

// マイグレーションの実行(テーブルの生成)
bin/rails db:migrate

// コントローラーの作成(コントローラー/ビューの生成)
bin/rails g controller tasks index show new edit

// Pumaサーバの起動
bin/rails s

4. 動作確認

http://localhost:3000/
http://localhost:3000/tasks/index

WindowsでRails開発

Windows10でRuby on Railsの開発環境を構築 [WSL/Ubuntu環境]
Apache/MariaDB/PHP/phpMyAdminの構築[WSL/Ubuntu環境]
Apache + PassengerでRailsとPHPを共存する [WSL/Ubuntu環境]
MariaDBでRailsプロジェクトを作成する [WSL/Ubuntu環境]
Apache/MariaDBをOS起動時に自動起動させる [WSL/Ubuntu環境]
WSLが起動しない時の対処方法 [WSL/Ubuntu環境]





関連記事



公開日:2019年09月19日 最終更新日:2019年12月07日
記事NO:02778