> Erm. Can you create a NOT NULL Column without a default in an ALTER
> Statement? I know you can't in MSSQL.

It worked fine for me in MySQL...  Not sure, although a change in the
code would be trivial.

The other point you make is the sort of versioning of the transition
file.  I see your point, and had thought about it while I was
designing this out.  I decided to ignore versioning for about three
reasons:

For one, I decided that instead of releasing transition files, the
database managers themselves should be producing the transition files.
 So each "user" of your FooApp would manage it themselves, create
their own transition file, and apply it.

Secondly, I don't know how to store what version of the model is
represented in the database.  At the beginning I envisioned the
transition file to have a Version(<number>) directive that would
identify groupings of the changes that would be required to get to
that version of the model.  So you could have, for instance up to
Version(5) in the transition file; then if you needed to get from
version 2 to version 5, you'd execute all the changes between the
directives after Version(2) up to Version(5).

Thirdly, this whole versioning thing required much more time.  The
best thing about my solution currently is that it works.  I can, at
this very moment, change my model without erasing all my data in the
app.  That's usefulness.

Reply via email to