2017-06-05 160 views
0

我已經在Django 1.5上編寫了相當大的代碼庫,因爲很多東西無法正常工作,所以需要升級到最新版本(1.11.2)。升級Django版本:最佳實踐

我想知道,如果它是最好的一步一步升級:1.5 - > 1.6-> 1.7 ... 或只是跳轉到1.11.2

什麼方法應該是更好,使(硬)過程更簡單?因爲我的項目有很多依賴項?

還有什麼好的做法?我使用的是virtualenv,並意識到這一點Django article about upgrading

+1

我建議你只是閱讀所有版本的更改日誌,並且一路升級 - 是的,增量升級是有價值的,但是考慮到框架已經經歷的變化的重要性,非常繁瑣的過程。 – karthikr

回答

1

這取決於兩件事情。有多少人在使用Django應用程序,以及測試覆蓋範圍的擴展。

如果你是唯一的用戶,不用擔心,一路升級。但是如果你有很多用戶,你很快就會發現,通過升級到1.11.2,一些邊緣案例可能不會被你的測試覆蓋。

預計會出現很多錯誤500。

如果您的覆蓋率在所有應用程序中接近100%,則可能不會出現該問題。

請注意,自1.5以來已經發生了很多變化。

+0

它的唯一用於我的使用,並沒有測試:) – YardenST

+0

所有的方式是:) –

1

我我的情況大概:數據

我使用SQLite的,我相信的是,最新版本可以殺死你,如果你只有1衝突。

python manage.py makemigrations等在它的方法中有這麼多的機會。

如果你從2X改變Python的3倍,這是一個新情況太=))

1

您發現該文件(「Upgrading Django to a newer version」)具有很好的指導意義。

  • 一個重要組成部分,升級,是具有由自動化測試套件爲您的應用程序完全分支覆蓋,在升級之前。

    你希望能夠運行一個完整的自動化測試套件,看到一切通過知道all branches are exercised by the test suite

    這意味着當你通過移植到Django 1.11來破壞某些東西時,你將能夠看到你的應用的哪些部分不再正常工作。

  • 通過閱讀release notesdeprecation timeline,瞭解您當前和目標Django版本之間的所有相關版本,需要進行哪些更改。

  • 查看您需要爲Django升級哪些依賴關係;如果它依賴過時的第三方庫中的不兼容功能,則可能需要更正代碼。

那些所有應該升級一個單一的東西,在我看來之前完成。