這是在講關於一名叫 Koa 的全端勇士傳說-部屬 Heroku

前言

前面已經將基本的會員機制給完成了,那麼實際該如何部屬 Heroku 呢?這邊就來記錄一下吧

Heorku

首先要開啟新的機器,這邊會透過 Heroku cli 來建立,如果不清楚的話可以我先前寫的其中一個系列文章 實作發送電子郵件並且部屬 HeroKu(3)

所以這邊就不廢話直接很快速地建立了好機器,但是這邊會出現這些錯誤

1
npm ERR! missing script: start

ERR! missing

這個問題只是 package.json 缺少了一行指令而已,只需要補上 scripts: { "start": "node app.js"} 即可

start

最後這邊還要修改一個地方,也就是 app.js 中的開啟伺服器的部分,請調整成以下

1
2
3
4
let prot = process.env.PORT || '3000'
app.listen(prot, async ()=>{
console.log('Example app listening on port 3000!');
});

安裝 MySQL

接下來你可能會興高采烈地開啟應用程式網址,但是你會發現 500 錯誤,而且出現這個錯誤訊息

1
SequelizeConnectionRefusedError: connect ECONNREFUSED 127.0.0.1:3306

那麼問題是出在我們沒有替 Heroku 安裝 MySQL 導致,所以來替 Heroku 安裝 MySQL 吧

首先先輸入以下指令來建立資料庫

1
heroku addons:add cleardb

建立資料庫

接下來輸入以下指令來看資料庫位子

1
heroku config

CLEARDB_DATABASE_URL

那麼這一串意思是這樣子

1
mysql://[username]:[password]@[host]/[database name]?reconnect=true

所以就可以透過以上來使用 Navicat 來連接資料庫囉~

連接資料庫

那麼我們就必須調整一下專案中的 config/config.json (請調整 production)

config/config.json

接下來輸入 heroku run sequelize db:migrate,這樣 sequelize 就會開始將 Model 遷移到資料庫內囉~

migrate

migrate 成功

這時候就可以打開資料庫來看資料表內是不是真的都有資料表哩~

資料表

那麼就可以線上玩玩看哩,這邊就提供給各位玩囉

簡易會員系統

參考文獻

sequelize migrations in heroku

ClearDB MySQL

Heroku ClearDB database (MySQL) 連線方式 (sequel pro) 筆記

Liker 讚賞

這篇文章如果對你有幫助,你可以花 30 秒登入 LikeCoin 並點擊下方拍手按鈕(最多五下)免費支持與牡蠣鼓勵我。
或者你也可以考慮請我喝一杯咖啡

Google AD

撰寫一篇文章其實真的很花時間,如果你願意「關閉 Adblock (廣告阻擋器)」來支持我的話,我會非常感謝你 ヽ(・∀・)ノ