1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

途中からMySQLを使用する方法

Posted at

なぜ、MySQLに変更したのか

初めは、PostgreSQLを使用していましたが、私が作成しているアプリを見るとMySQLを使用している記事が多く、利用者も多くなっているのでニーズに合わせて変更しました。

MySQLとは

大容量のWebサイトや基幹業務システム、パッケージソフトウェアの構築にもっとも利用されているデータベースです。
私は、無料で高機能で誰でも扱いやすいデータベースという認識です。

環境

ruby 3.0.2
rails 6.1.4
Homebrew

本題へ

1, HomebrewでMysqlをインストールします。

brew update
brew install mysql

2, MySQLがインストールされているか確認します。

# mysqlを起動
mysql.server start

# mysqlにログイン
mysql -u root -p

ログインする際にパスワードを聞かれますが、まだ設定していないのでそのまま「Enterキー」でログインできます。

ログインできると、mysql>という表示なります。接続を抜ける場合は、exit;を入力してください。

3, MySQLにRailsプロジェクト用のユーザーを登録

今の段階ではrootユーザーしかないと思うので、Rails用のユーザーを作ってみましょう。以下のコマンドを実行してください。

# mysql>から以下のコマンドを実行
# 「sampleuser」と「password」というところを変えてください
create user sampleuser@'localhost' identified by 'password';

# 権限付与
grant all on *.* to sampleuser@'localhost';

4, 設定ファイル・Gemfileを変更

Gemfileとdatabase.ymlファイルを変更します。

# Gemfile
# gem 'sqlite3' # 削除
gem 'mysql2' # 挿入
# config/database.yml
# 適宜username,password,socket,databaseを先ほど設定したものに書き換えてください。

default: &default
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: sampleuser
  password: password
  host: localhost
  socket: /tmp/mysql.sock

development:
  <<: *default
  database: Sample_development

test:
  <<: *default
  database: Sample_test

production:
  <<: *default
  database: Sample_production
  username: Sample
  password: <%= ENV['Sample_PASSWORD'] %>

※こちらのファイルは、あくまで例なので使いたい環境に応じて変更して下さい。

その後bundle installを実行してください。

5, データベースを作成・テーブルを作成

# データベース作成
bundle exec rails db:create

# テーブル作成
bundle exec rails db:migrate

以上となります。

参考URL
https://shinmedia20.com/rails-db-mysql

反省

アプリ設計の段階で、どんな構成でどんな技術を使用するなどをあらかじめ決めておけば、途中から変更することなく進めていけたのではないかと思いました。
今後、作成するときは設計計画をきちんと決めてから作成しようと思いました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?