【1分で完了/Rails6】データベースをSQLite3からPostgreSQL に変更する方法
データベースを3秒で変更するコマンド
rails db:system:change --to=postgresql
※postgresqlの部分を変更することで他のDBの変更が可能
コマンドを入力すると、database.ymlのコンフリクトが発生すると思いますが、「y」を入力すると書き換えが行われます。
conflict config/database.yml
Overwrite /(プロジェクトのパス)/config/database.yml? (enter "h" for help) [Ynaqdhm] y
force config/database.yml
gsub Gemfile
gsub Gemfile
database.ymlとGemfileが書き換えられれば、とりあえず、データベースの仕様が書き換えられました。
※この段階で、データベースの変更はまだ反映されていません。
データベースを作成しよう
先ほどのコマンドでは、データベースの仕様が変更となり、初期化されているので、データベースはなくなってしまいます。
再度作成する必要があります。
データベースを作成するためのコマンドはこちら
rails db:create
データベースをマイグレーション
今までのコマンドでは、
マイグレーションファイルにデータベースに対する変更内容が書き込まれているだけ
です。
つまり、これらの変更をデータベースに反映させるためのコマンドを入力しないといけません。
rails db:migrate
以上の操作だけでデフォルトをSQLite3をPostgresSQLに変更することができました。