これまではMySQLを使用していましたが、本番環境を考えてPostgreSQLに変更しました。
ググって、SQLite→MySQL or PostgreSQLの変更方法は出てくるのですが、
MySQL→PostgreSQLの変更方法は、ネットになかなか落ちていませんでした。
そんなとき、webpack周りで躓いた際に参考にした記事を思い出しました。
Ruby on Rails 6の主要な新機能・機能追加・変更点
##どうやらrails6では簡単に変更出来るらしい
bin/rails db:system:change
上記で行けるみたい。
rails6からはRDBMSを変更するdb:system:changeタスクが追加されたとのこと。
ちなみにMySQLとSQLiteへの変更の仕方は以下の通り
Rails6「SQLite ⇆ MySQL ⇆ PostgreSQL」データベースを移行(変更)する方法
#MySQLに変更
rails db:system:change --to=mysql
#SQLiteに変更
rails db:system:change --to=sqlite3
##実際にやってみる
#--to=*********で変更したいDBを指定する
bin/rails db:system:change --to=postgresql
Overwrite /Users/environment/アプリ名/config/database.yml? (enter "h" for help) [Ynaqdhm]
上記で、「上書きしますか?」と出るので、yを記入
Overwrite /Users/environment/アプリ名/config/database.yml?
(enter "h" for help) [Ynaqdhm] y
force config/database.yml
gsub Gemfile
gsub Gemfile
これで変更完了。
SQLite→MySQLに変更した際は、bin/rails db:system:changeを知らなかったので
database.ymlを自身で書き換えたりと少々めんどくさかった。
基本DBは変更しないほうがいいと思いますが、
rails6になってDBは簡単に変更出来るようになったよって、
話でした。
ではでは。