📜 ⬆️ ⬇️

Django framework will get a database schema migration


The official blog Django has information that it is planned to expand the functionality of the built-in ORM migrations - an important functionality that is present in many modern ORMs, which is called “out of the box”, for example, in the ActiveRecord rail or Doctrine. Historically, this functionality is missing in Django ORM.

In the absence of a normal control tool for the version of the database schema, in fact, everyone suffers: third-party application developers are puzzled, whether to use migrations by connecting another third-party application or not, each release becomes a headache for developers and admins - you have to think of as it is easier to make an upgrade. In short, in terms of controlling the version of the database in the world of django easy chaos reigns.

The de facto standard today is South , but since this is still not even a contrib, so there is some inconsistency in action (such as support for the python version). The author of the application, Andrew Goodwin , who has been part of “tutorials” for several years, was finally going to solve this problem and prepare the code, which would then be included in the code base of the framework. Database migration is a rather large and time-consuming task, requiring a lot of time and effort from the developer. Therefore, Andrew offered the community to finance his work by creating an appropriate project on the kickstarter. The conditions are as follows:
')

At the time of this writing, the project has already gained almost 7 thousand pounds. So happiness be. By the way, already now on the githaba one can see a pull-request of a six - month long period with the sketches of this work.

However, I personally consider this project on a kickstarter also as an opportunity to thank Andrew Goodwin for the application, without which, in my opinion, development under django would be very difficult.

It is interesting that not all users of jungi share enthusiasm for adding new functionality. For examples, by the way, no need to go far. The main argument is the low quality of the Saus code. There are probably two important facts to consider: firstly, for the code being prepared the same standards will apply as for the rest of the framework code, and secondly, the use of migrations, as well as Django ORM, is purely voluntary, therefore developers , using South will become a bit more convenient, and those who ignore it are unlikely to have any inconvenience about it.

UPD: After just an hour and five minutes, the required amount has been collected (and even exceeded). So, Andrew promises to pay additional attention to support for Oracle, MSSQL and online migration of the scheme from Persona for MySQL)

Source: https://habr.com/ru/post/173933/


All Articles