(二十二) 部署網站with Heroku - 資料庫問題(續)

其實一直有點困惑,原先參考了網路的一篇教學及書籍,如果是要使用現有的資料庫,前者寫説要用pg:push指令另外再把資料庫搬進去,但書籍並沒有提到甚至連要在settings.py新增DATABASE_URL都沒有,這樣部署後資料怎麼找得到?

總而言之再整理一下目前了解到的。

1
2
db_from_env = dj_database_url.config(conn_max_age=600)
DATABASES['default'].update(db_from_env)

上述兩行的意義在於,這邊需要透過python的套件dj_database_url,將Heroku的DATABASE_URL轉換成Django可讀取的值。

DATABASE_URL的格式:postgress://user:password@HOST:port/Database。
使用者密碼這些資料可以透過下面指令(Heroku網頁介面也可以)來查看:
heroku pg:credentials:url DATABASE

小結:相對於Django專案的一般檔案只要commit到Heroku即可,資料庫卻要個別處理,看來還要再繼續努力研究…