覚書: RailsのDBをSQLiteからPostgreSQLに変更する

CHANGELOG.md を読んでいてRails 6.0.0.beta1で下記のコマンドが追加されてことを知りました。

Add rails db:system:change command for changing databases.
bin/rails db:system:change --to=postgresql
force config/database.yml
gsub Gemfile

ということで試してみます。
PostgreSQLサーバを起動して下記のコマンドを実行します。

bin/rails db:system:change --to=postgresql
bundle
bin/rails db:create
bin/rails db:migrate

差分を確認します。
db/schema.rb

   create_table "taggings", force: :cascade do |t|
-    t.integer "landmark_id", null: false
-    t.integer "tag_id", null: false
+    t.bigint "landmark_id", null: false
+    t.bigint "tag_id", null: false

念のため先日作成したタスクでデータをインポートしてみます。

bin/rails db:import_tsv

画像1

問題なく変更できたようです。(本件とは関係ないですけどタグ数が5つまでという文言の修正漏れに気づきました。)

https://github.com/usutani/KyotikaLandS/tree/db-change-to-pg

この記事が気に入ったらサポートをしてみませんか?