>
> Understand when I say that what you are proposing is a very, very big 
> change. Django's ORM is heavily coupled to runtime information and the app 
> layer, and I tried for many years to decouple them and ran into all sorts 
> of issues as a result. Importing the fields from the source code ended up 
> being the easiest, safest method that also happens to produce very 
> easy-to-understand errors when it breaks (rather than using old definitions 
> or silently failing).
>

Understood. 

>From my perspective, from few years work with Liquibase (started in 2008 
maybe), I had no failures except migration logic errors (due to ordering) 
or executing binaries.
This solution is completely separated from app logic, it is hell-stable, 
and supports databases longer than any app lifetime.

The problem with external solution lies in changesets creation, which is a 
completely manual process, where changes from 3rd party apps or Django 
itself cannot be automatically applied. 
The only one what is really problematic with Django migrations is "heavy 
coupling to app layer", as you said, which may cause migrations system 
failure when app layer is changing.

I'm trying to find a solution to achieve both - stability and automation 
(or semi-automation).

I am impressed that your thousands of migrations only take a few minutes to 
> run; 


Believe me or not, I was thinking about hundreds. Sorry for a mistake. It 
may be related to my poor english skills.
Currently there are 1480 changesets, to be precise. They're applying within 
2-3 minutes on two databases (sequentially) on a poor jenkins machine.

BR,
Marcin

>

-- 
You received this message because you are subscribed to the Google Groups 
"Django developers  (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/django-developers.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/22fc3ae1-379e-4bca-aadf-5b9dc07a4bb0%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to