25
17

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 3 years have passed since last update.

rails6でデータベースを変更した話

Posted at

これまでは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は簡単に変更出来るようになったよって、
話でした。

ではでは。

25
17
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
25
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?