Paul Davis wrote:
> 
> As near as I can tell these are the main issues that don't seem to be 
> resolved:
> 
> 1. Balancing ease of use with power of use (Ie, Alice vs. Carol)
> 2. Level of versioning: Model vs. Application vs. Entire database
> 3. Application of versions: v1 -> v2 -> v3 =? v1 -> v3
> 4. How do we represent a migration from state 1 to state 2

> #1 is a nobrainer. We want both. And we won't settle for less.

agreed.  this is why fingerprinting, versioning and controlled 
deployment scripts are all optional in my implementation.  (as i feel 
they must be to support alice)

> #2 There is a lot of talking around this issue but I haven't seen
> anyone take it full on.
> We have to version the entire schema as a single object. Anyone in
> doubt, I refer to SVN's repository wide versioning vs CVS's file
> specific versioning.

i agree that at _least_ applications need to be versioned together.  i 
lean towards agreeing that we should version entire schemas, but w/ 
django not having any existing inter-app dependency mechanism (other 
than they just won't work), i was reluctant to mandate it.  mostly 
agree, but i think the ramifications need to be better thought out 
before we push it on anyone.

> #3 There are those that think v1->v2->v3 == v1->v3. I am not one of
> those people.
> A database is defined (in my mind) by its schema and the data it
> contains.

i think it depends on who you are.  for alice at least, can you agree it 
will be true?  for the majority of apps/developers too, i'd argue.  but 
for disburse deployments, i've conceded before that support needs to be 
there for v1->v2->v3.  (and it is supported via my controlled deployment 
scripts)

> Migrations are non-linear.

thank $DEITY someone else said this.  :)  imho any controlled deployment 
system that _only_ supports lists of sequential versions is DOA.

> #4 This is minor, but I felt it necessary to say that we're obviously
> going to need python scripts to go from state to state. And custom sql
> would be easy to integrate.

agreed.

> So those are the main points near as I can tell. Now I'll go over some
> of the popular topics I saw:
> 
> 1. The use of introspection:
> Will introspection be used? Of course. Will it be *all* thats used? Of
> course not.

agreed, but i think the controversy is over using introspection to 
_generate_ our guesses.  (heck even syncdb uses introspection - noone's 
arguing we shouldn't use any)

> 2. The famous 'aka' syntax. For those of you out there saying that
> this is absurd and doesn't provide any information, I'm thankful. The
> syntax is horrible. Remember my quip about SVN vs. CVS versioning?
> This is like some ultra brain dead system that trys to version
> individual lines in a file. I mean, not even CVS is that bad.

you're confused as to it's purpose.  it is certainly *not* an attempt to 
version anything. it's there as a necessary hint to the guess_generation 
routine.  i think everyone acknowledges we need some sore of a hinting 
syntax on top of the version tracking if we want to do any generation of 
change scripts...  the question is where?

the reasons i put it where i did are as follows:
        1) easy to use / grok for everyone, even for alice.
        2) all field referencing has some ambiguity, if you want to
           support fields that no longer exist..  best to have only
           one side ambiguous by attaching it directly to the other.

i agree it would be a brain-dead VCS implementation, but it's not.  so 
that being understood, is it more palatable now?

derek


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-developers@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to