I'm pretty much -1 on this since I think migrations need to have absolute flexibility - the "listener" system within create_all() is not at all designed to be used to that degree. For starters, its an entirely in-memory system - if you have hundreds of migration scripts its quite cumbersome to read them all into memory for a single migration. Similarly, the concept of a "version" as an integer number is not really flexible enough - I would like to investigate the creation of migration scripts between branches as well. The mechanism of schema versioning is not at all something that belongs in SQLAlchemy core.
I would like to implement an "alternate" version of Migrate at some point as an example or recipe - the ALTER constructs themselves could eventually live within SQLAlchemy.schema, since those are non-controversial atomic units of functionality. The "versioning" would be a simple script system that starts with the "integer" version but could later work off of md5 hashes perhaps - but this would just be a usage recipe, that like the PostGIS example would launch into a real product. the main point would be that the scripting system would be cleanly separated from the system of interaction with the database. The existing Migrate project is burdened by three things - the monkeypatching legacy of older SQLA versions, an overly rigid and complex system of creating "engines" that makes it almost impossible to control the transactional scope of a migration, and its superfluous features, namely the whole "schema comparison" system that I could do without. Manlio Perillo wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hi. > > I would like to implement a minimal but working support to migrations in > SQLAlchemy. > > I know there is already sqlalchemy-migration, but the code is not > integrated in SQLAlchemy, and it is less flexible. > > A detailed description of the propose is here: > http://mperillo.ath.cx/migration.html > > Please let me know if it is ok to integrate this in SQLAlchemy, and, of > course, if there are bugs in the propose. > > If all is ok, I will start to write a patch; otherwise I will try to > implement it as a normal SQLAlchemy extension. > > > > Thanks Manlio > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.10 (GNU/Linux) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org > > iEYEARECAAYFAkuP2tQACgkQscQJ24LbaUTvqwCdGCln+NE8boAUS4j7PUCGXpHe > IxMAn2aMp/c8P+3BXaKS4lpFat/4Ktb3 > =ZJPs > -----END PGP SIGNATURE----- > > -- > You received this message because you are subscribed to the Google Groups > "sqlalchemy" group. > To post to this group, send email to sqlalch...@googlegroups.com. > To unsubscribe from this group, send email to > sqlalchemy+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/sqlalchemy?hl=en. > > -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalch...@googlegroups.com. To unsubscribe from this group, send email to sqlalchemy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.