LoginSignup
13
15

More than 5 years have passed since last update.

[初学者]既存アプリのDBをMySQLに変更する方法

Posted at

目的

  • 以前作成したアプリのDBをMySQLに変更したときのメモ

条件

  • ruby 2.5.1
  • Rails 5.0.3

手順リスト

  1. Gemfileに「gem 'mysql2'」を追加
  2. database.ymlの内容をMySQLに合わせる

1. Gemfileに「gem 'mysql2'」を追加

Gemfile
# sqlite3のgemを削除する。
gem 'sqlite3', '1.3.12'

# mysql2のgemをバージョンを指定して追加する。
gem 'mysql2', '~> 0.4.4'
gem 'mysql2'は必ずバージョン(0.4系とか)を指定すること。

何も指定しないと現時点最新版(0.5.2)がインストールされます。
mysql2(バージョン0.5系)だと現時点エラーが出ます。
Image from Gyazo

記述が終わったら

お決まりのbundle
bundle

Image from Gyazo

2. database.ymlの内容をMySQLに合わせる

config/database.ymlがSQLiteの設定のままなのでMySQLに合わせて変更しましょう

config/database.yml
default: &default
  adapter: mysql2
  encoding: utf8
  pool: 5
  username: root
  password:
  host: localhost


development:
  <<: *default
  database: sample_development # DBの名前。「sample」の部分をアプリの名前に変更すると分かりやい

test:
  <<: *default
  database: sample_test # DBの名前。「sample」の部分をアプリの名前に変更すると分かりやい

production:
  <<: *default
  database: sample_production
  username: sample_app
  password: <%= ENV['SAMPLE_DATABASE_PASSWORD'] %>

変更したら

rails db:setup

# rake db:setup # DBを作成、スキーマをロード、seedデータをロードする

実際に動くか確認

rails s
13
15
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
13
15