We use reflection to generate base declarative class definitions of our tables, and I'm working on porting from SQLAlchemy 0.5 to 0.6. TIMESTAMP column reflection was quite a bit fishy in 0.5, and is overall better in 0.6. Still, I found a bug while roundtripping(*) the whole shebang. Looks like a typo in the MySQL dialect regexp. :)
https://bitbucket.org/taavi_burns/sqlalchemy/changeset/73d2d5673e01 I think there's also a glitch in TINYINT(1) handling, which the docs say should come out as a Boolean(). Except that the docs also say that 0.6 tries to return the most specific type available, which should be TINYINT(1) and not Boolean(); so I'm not sure which is more "correct". :) Right now I've got our code looking for TINYINT(1) specifically and forcing to Boolean(), because I know that's what we want. (*) Because I'm paranoid, I've got tests that: 1. Issue a CREATE TABLE, then SHOW CREATE TABLE and save the output 2. Get SQLA to reflect that table, drop it, re-create from SQLA, and SHOW CREATE TABLE again 3. Generate the base declarative class, exec that code, drop the table, create it from the base declarative, and SHOW CREATE TABLE a third time 4. Make sure all 3 SHOW CREATE TABLE statements are identical. :) It's a lot of work, but I'm now much more confident that the schema we think we're using is the one we're actually using. Thanks! -- You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en.
