部屬.NET Core 3.1 到 Fly.io

  • 82
  • 0
  • 2022-12-28

因應 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