2014-12-04 35 views
0

我目前使用postgres,我在我的事件應用程序中刪除了一個表。現在,我得到了各種錯誤,當我嘗試運行makemigrations像:如何在Django 1.7中重置所有應用程序的遷移?

return self.cursor.execute(sql, params) 
    django.db.utils.ProgrammingError: relation "events_event" does not exist 

你如何重置一個應用程序所有遷移和模型在Django 1.7?也有一種簡單的方法來重置應用程序內的個別模型?在我的情況下,我只想刪除事件表,然後重新創建它。

回答

0

嘗試刪除從south_migrationhistory表中的所有記錄在數據庫中,並從/遷移刪除所有遷移文件...(或刪除唯一的問題遷移文件,因爲如果您刪除所有遷移文件,你建議立即進行刪除做出重新初始遷移)

+0

Django 1.7+包含遷移功能。我不相信我在用South。我做這樣的遷移:python manage.py makemigrations events ... python manage.py migrate – 2014-12-04 22:12:22

+0

我還沒有使用Django 1.7的經驗。 :( – simopopov 2014-12-04 22:14:33

0

1)如果您想從初始遷移開始:

在您的應用中,有一個名爲migrations的文件夾。只需刪除該文件夾中除__init__.py文件以外的所有文件即可。將爲您重置遷移歷史記錄。

然後,當您運行makemigrations命令時,它將從初始遷移開始!

2)如果你想刪除和/或添加特定的模型,那麼你可能需要根據你的需要手動編輯遷移文件。 https://docs.djangoproject.com/en/1.7/topics/migrations/#migration-files或者您可以根據您的要求刪除特定的遷移文件