【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に変更することができました。






いいなと思ったら応援しよう!