2017-06-05 156 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升级哪些依赖关系;如果它依赖过时的第三方库中的不兼容功能,则可能需要更正代码。

那些所有应该升级一个单一的东西,在我看来之前完成。