id summary reporter owner description type status component version severity resolution keywords cc stage has_patch needs_docs needs_tests needs_better_patch easy ui_ux 28182 Introduce django code migrations Artur Barseghyan nobody "Python has awesome introspection. `lib2to3` exists for a very long time. Third party libraries like `python-modernize` seem to work fine. Within past 6 months I have migrated 3 sites from Django 1.6 to Django 1.8. Next year, likely, all of them are supposed to be migrated further. Code migration costs a lot of time/funds/effort. Small companies can't always afford it (regularly). Even big companies (like Instagram) postpone code upgrades for a long time, due to (pick one) lack of human resources/funds, complexity, the hassle. I wonder, why would established frameworks like Django, not be willing to simplify code migration process (between versions) by providing code migration steps. Django could have a sub-module `codemigraiton` with sub-sub modules for each version update. For instance, Django 2.0 could contain migrations steps from 1.8 to 2.0 /django/codemigration/django_2_0/ /django/codemigration/django_1_11/ /django/codemigration/django_1_10/ /django/codemigration/django_1_9/ Steps would be dependant. There could be a `django-migrate.py` command which would take care of the code migrations. It could accept a number of arguments, such as currentversion, sourcepath, etc. The whole upgrade process could look as follows: - Developers install the desired/target version of Django - Run the `django-migrate.py` commandto have their current code base upgraded. - Do the finishing touches by hand. Most of the work could have been automated, so that developers spend their creativity in a better way. I'm quite sure, this feature, it taken seriously, can bring Django to a new quality level and (why not?) raise more funds from companies interested in the future development of Django." Uncategorized closed Uncategorized dev Normal wontfix code migration proposal Unreviewed 0 0 0 0 0 0