我只是將我的 Django 應用程式部署到 Heroku,但我無法將我的遷移遷移到 heroku。首先我運行:
heroku run python manage.py migrate所有遷移串列都正常,但是當我顯示遷移時,它們都沒有遷移(全部為空白 [])。
然后我嘗試heroku run bash從那里遷移,一切似乎都沒問題,甚至來自 bash 的 showmigrations 顯示所有遷移都在作業。我什至設法創建了一個超級用戶。但是當我打開我的管理頁面并使用超級用戶登錄時,它顯示“account.account”表不存在,當我再次檢查 showmigrations 時,所有遷移都消失了。我一直在一遍又一遍地重復這種遷移,但仍然無法弄清楚。
有誰知道我在這里做錯了什么?
編輯:我不知道這是否相關,但是當我第一次將我的專案推送到 Heroku 時,我將 Postgre 與此設定一起使用:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
'NAME': DB_NAME,
'USER': DB_USER,
'PASSWORD': DB_PASSWORD,
'HOST': 'localhost',
'PORT': '5432',
}
}
但是當我嘗試運行遷移時,它顯示了一個錯誤,例如無法使用 5432 埠訪問 localhost,結果是 Heroku 嘗試訪問我的本地主機中的 postgre,而不是使用 Heroku Postgres。我找到的解決方案是轉儲我的資料庫并將其重新加載到 Heroku。因為我不知道如何設定。我只是評論 postgre 設定并將其替換為默認的 django 設定:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': BASE_DIR / 'db.sqlite3',
}
}
創建我的 dbsqlite 檔案,再次運行遷移,然后再次將其推送到 Heroku,希望找到一種簡單的方法,但最終卻遇到了這個問題
uj5u.com熱心網友回復:
我建議您將遷移的專案推送到 heroku
python manage.py migrate
然后將該遷移的專案推送到 heroku
從heroku bash 創建超級用戶時,您的超級用戶沒有被存盤的原因是因為heroku 有一個臨時驅動器,即heroku 在相等的時間間隔后從原始推送中清除所有修改過的資料。
uj5u.com熱心網友回復:
原來我忘記安裝 django-heroku。更多相關資訊:https : //devcenter.heroku.com/articles/django-app-configuration
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/326046.html
上一篇:在資料庫之后將Django應用程式部署到Heroku?
下一篇:減少嵌套的for回圈
