因應 Heroku 免費方案取消,紀錄遷移到 Fly.io 的步驟
建立新的APP,在 .sln 檔同一層執行指令
flyctl launch
中間會詢問是否要馬上發布 deploy,選 NO
(因為等等還要設定 Port)
修改 fly.tomlinternal_port = 8080
改成 80 port
flyctl deploy
建立 PostgreSQL 步驟可以參考下面文章
https://community.fly.io/t/migrating-from-heroku-postgres-to-fly-postgres-a-complete-guide/4262
但是我用文中寫的指令遷移 DB 沒有成功,所以用倒資料的方式做
先把 Heroku 上的資料抓出來
pg_dump --host=<host_name> --port=<port> --username=<username> --password --dbname=<dbname> > output.sql
然後檢查一下 .sql 有沒有問題(role 或其他語法有沒有錯)
接著把 Fly.io 上的 DB 指定到 localhost
設定後,若有需求也能開 pgAdmin 用 localhost:15432 (或 127.0.0.1:15432) 操作 Fly.io 的 DB 了
flyctl proxy 15432:5432 -a <appname-db>
接著就能用 psql 語法把資料匯進 DB
psql postgres://postgres:...@localhost:15432/<dbname>
\i output.sql