Manual testing with sqlite appears to show that CREATE TABLE is transactional and can be rolled back. Consider::
$ sqlite3 test2.db Loading resources from /Users/chris/.sqliterc SQLite version 3.4.0 Enter ".help" for instructions sqlite> BEGIN; sqlite> CREATE TABLE test1 (foo INTEGER); sqlite> CREATE TABLE test2 (foo INTEGER); sqlite> COMMIT; sqlite> .tables test1 test2 sqlite> ^D $ rm test2.db $ sqlite3 test2.db Loading resources from /Users/chris/.sqliterc SQLite version 3.4.0 Enter ".help" for instructions sqlite> BEGIN; sqlite> CREATE TABLE test1 (foo INTEGER); sqlite> CREATE TABLE test2 (foo INTEGER); sqlite> ROLLBACK; sqlite> .tables sqlite> Perhaps the behaviour I see through SA is a side effect of pysqlite? Cheers, Chris Miles On Feb 6, 2:36 pm, Michael Bayer <mike...@zzzcomputing.com> wrote: > sqlite doesn't include CREATE TABLE statements within the scope of a > transaction. I think that's a relatively rare behavior only seen in > Postgres, in fact - I dont think Oracle or MySQL have that behavior, > for example. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "sqlalchemy" group. To post to this group, send email to sqlalchemy@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 -~----------~----~----~----~------~----~------~--~---