python - django 部署到heroku 如何删除数据库
巴扎黑
巴扎黑 2017-04-17 15:21:26
0
1
305

model 中新增了一个对象 Message 和 并在另一个model中增加外键字段message,然后push到heroku上,同步migrate之后,发现新的表不能用. 但是本地是执行 python manage.py flush 之后同步的,没出问题, 但是在heroku上执行 flush 出错

CommandError: Database d4e4561s5hscht couldn't be flushed. Possible reasons:
  * The database isn't running or isn't configured correctly.
  * At least one of the expected database tables doesn't exist.
  * The SQL was invalid.
Hint: Look at the output of 'django-admin sqlflush'. That's the SQL this command wasn't able to run.
The full error: cannot truncate a table referenced in a foreign key constraint
DETAIL:  Table "blog_post" references "auth_user".
HINT:  Truncate table "blog_post" at the same time, or use TRUNCATE ... CASCADE.

请问怎么清理数据库

巴扎黑
巴扎黑

全部回覆(1)
Ty80

“blog_post”表中有欄位外鍵關聯到了 “auth_user” 表。
flush是truncate table的,auth_user表有資料當然不能truncate。

現版本通常的做法是:

python manage.py makemigrations
python manage.py migrate

這樣就可以了啊,不知道LZ說的「migrate之後,新的表不能用」是什麼意思

為什麼要flush呢? 都已經上線了 還要清數據?

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!