我將我的 Github 專案連接到 Heroku,每次提交時,Heroku 都會重新啟動我的應用程式,它會覆寫我的 userDB.xlsx,它會重置資料。我可以保存 Heroku 所做的檔案更改并自動提交到 Github 嗎?我在我的專案中使用 python。并使用 Visual Studio Code 進行編碼。
我使用此代碼保存/加載 userDB.xlsx
from openpyxl import *
import os
workbook_path = os.path.join(os.path.dirname(os.path.abspath(__file__)),"userDB.xlsx")
wb = load_workbook(workbook_path)
ws = wb.active
def loadFile():
wb = load_workbook(workbook_path)
ws = wb.active
def saveFile():
wb.save(workbook_path)
wb.close()
uj5u.com熱心網友回復:
Heroku 不適合資料的持久存盤。Heroku 的檔案系統是短暫的,因此一旦您的應用程式重新啟動,檔案內容的更改將被恢復。
您嘗試存盤持久資料的方式將不起作用。適當的方法是將您的資料存盤在專案檔案系統之外,并在需要時從那里訪問/修改它。
在您的情況下,最好的選擇似乎不是將資料庫存盤在您的計算機上(因此即使您的計算機關閉,您也可以訪問它)。
Heroku 有資料庫插件,允許您將資料庫存盤在服務器中。您可以在此處查看完整的插件串列。一個不錯的選擇是 Postgres 的資料庫插件。
PS:即使您的應用程式在 Heroku 上運行,您也可以使用非 Heroku 資料庫替代方案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/518113.html
