2014-11-06 132 views
3

我有一個django 1.5應用程序,現在我將它遷移到django 1.7並且應用程序與舊數據庫一起正常工作。但現在我想用django 1.7爲該應用程序創建遷移。Django 1.7我的舊項目遷移問題

我刪除舊的遷移和只是不停地遷移文件夾與__ init__文件

然後我跑./manage.py makemigrations

,同時運行./manage.py migrate它給一些錯誤。

django.db.utils.ProgrammingError: relation "django_site" does not exist 
LINE 1: SELECT (1) AS "a" FROM "django_site" LIMIT 1 

我已將django_sites添加到已安裝的應用程序。

當更新到本機遷移時,是否有任何特定的方式來創建/應用遷移?

回答

3

你必須依賴於django.contrib.site但相關的表是不可遷移。 可以

  • 移動django.contrib.site了在INSTALLED_APPS
  • 檢查屬性dependencies遷移的

反正我覺得你的問題是與一些字段的默認值。

如果你沒有找到所涉及的應用程序,您可以:在INSTALLED_APPS

    1. 禁用所有應用程序啓用的第一個
    2. 運行makemigrations
    3. 刪除所有遷移
    4. 啓用下一個應用程序
    5. 運行makemigrations ...重複步驟4..6,直到獲得th e error
  • 0

    the documentation

    如果您已經與韓國建立預先存在的遷移,然後使用django.db.migrations升級過程相當簡單:

    • 確保所有安裝都與他們的遷移完全同步。
    • 從INSTALLED_APPS中刪除'south'。
    • 刪除所有(編號)的遷移文件,但不刪除目錄或init .py - 確保您也刪除.pyc文件。
    • 運行python manage.py makemigrations。 Django應該看到空的遷移目錄並以新格式進行新的初始遷移。 運行python manage.py migrate。 Django會看到,初始遷移的表已經存在,並將它們標記爲已應用而不運行它們。

    我懷疑你忘了

    find . -iname "*.pyc" | xargs rm