はじめに
当記事はRuby on Railsでアプリケーションを作成している途中でDBを変更したいと思ったときに変更する場所を記します。
今回はSQLiteからmysqlへ変更します。
また、最初からmysqlで始める場合は以下のコマンドでnew
することでmysqlで開始することができます。
terminal
rails new アプリケーション名 -d mysql
環境
terminal
$ ruby -v
ruby 2.7.3
$ rails -v
Rails 7.0.4
mysql -version
mysql Ver 8.0.31
$ bundle -v
Bundler version 2.1.4
前提条件
- DBの設定が完了していること。(mysqlだと最低限、rootユーザーでアクセス可能である。)
DB変更
-
Gemfileに以下を追記する。
/Gemfilegem "mysql2"
-
terminalから
Gemfile
を元にgem
を更新する。terminalbundle install
-
database.yml
を更新する。database.ymldefault: &default adapter: mysql2 encoding: utf8 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> development: <<: *default database: [DB名] username: [ユーザー名] password: [パスワード] test: #略 production: #略
DB名や、ユーザー名、パスワード等その他環境情報は環境に応じて変更してください。
-
データベースを作成していない場合はcreateコマンドを叩く。
terminalrails db:create