
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:
')
- For 3500 pounds, Andrew undertakes to issue the minimum necessary functionality as soon as possible, concentrating on the task.
- For 4500 pounds, he proposes to implement additional low-level operations, such as storing data when moving columns between remote keys, as well as support for post-crash CREATE INDEX CONCURRENTLY
- For 7000 pounds, the main features of the new South versions will be prepared for compatibility with the 1.4 and 1.5 versions of the jung
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)