Hi, this concerns running functional tests in TurboGears2, using SA 0.5.1.
As part of the functional test set up, all the model's tables are CREATEd, and DROPped as part of the tear down. However, despite seeing the expected sequence of CREATE, 1st test, DROP, CREATE, 2nd test, DROP, the second test fails with "no such table" errors. Condensed INFO level logging of sqlalchemy.engine: ... INFO PRAGMA table_info("tg_user") INFO () CREATE TABLE tg_user ( user_id INTEGER NOT NULL, user_name VARCHAR(16) NOT NULL, email_address VARCHAR(255) NOT NULL, display_name VARCHAR(255), password VARCHAR(80), created TIMESTAMP, PRIMARY KEY (user_id), UNIQUE (user_name), UNIQUE (email_address) ) INFO () INFO COMMIT ... INFO BEGIN [DB interactions for first test] INFO COMMIT ... INFO PRAGMA table_info("tg_user") INFO () ... DROP TABLE tg_user INFO () INFO COMMIT ... INFO PRAGMA table_info("tg_user") INFO () ... CREATE TABLE tg_user ( user_id INTEGER NOT NULL, user_name VARCHAR(16) NOT NULL, email_address VARCHAR(255) NOT NULL, display_name VARCHAR(255), password VARCHAR(80), created TIMESTAMP, PRIMARY KEY (user_id), UNIQUE (user_name), UNIQUE (email_address) ) INFO () INFO COMMIT ... Result in this stack trace when trying to interact with the tg_user table during the second test: Traceback (most recent call last): ... File "/Users/james/virtual/unit_tests/UnitTests/unit_tests/ websetup.py", line 54, in setup_app model.DBSession.flush() File "/Users/james/virtual/unit_tests/lib/python2.5/site-packages/ SQLAlchemy-0.5.1-py2.5.egg/sqlalchemy/orm/scoping.py", line 121, in do return getattr(self.registry(), name)(*args, **kwargs) File "/Users/james/virtual/unit_tests/lib/python2.5/site-packages/ SQLAlchemy-0.5.1-py2.5.egg/sqlalchemy/orm/session.py", line 1347, in flush self._flush(objects) File "/Users/james/virtual/unit_tests/lib/python2.5/site-packages/ SQLAlchemy-0.5.1-py2.5.egg/sqlalchemy/orm/session.py", line 1417, in _flush flush_context.execute() File "/Users/james/virtual/unit_tests/lib/python2.5/site-packages/ SQLAlchemy-0.5.1-py2.5.egg/sqlalchemy/orm/unitofwork.py", line 243, in execute UOWExecutor().execute(self, tasks) File "/Users/james/virtual/unit_tests/lib/python2.5/site-packages/ SQLAlchemy-0.5.1-py2.5.egg/sqlalchemy/orm/unitofwork.py", line 706, in execute self.execute_save_steps(trans, task) File "/Users/james/virtual/unit_tests/lib/python2.5/site-packages/ SQLAlchemy-0.5.1-py2.5.egg/sqlalchemy/orm/unitofwork.py", line 721, in execute_save_steps self.save_objects(trans, task) File "/Users/james/virtual/unit_tests/lib/python2.5/site-packages/ SQLAlchemy-0.5.1-py2.5.egg/sqlalchemy/orm/unitofwork.py", line 712, in save_objects task.mapper._save_obj(task.polymorphic_tosave_objects, trans) File "/Users/james/virtual/unit_tests/lib/python2.5/site-packages/ SQLAlchemy-0.5.1-py2.5.egg/sqlalchemy/orm/mapper.py", line 1346, in _save_obj c = connection.execute(statement.values(value_params), params) File "/Users/james/virtual/unit_tests/lib/python2.5/site-packages/ SQLAlchemy-0.5.1-py2.5.egg/sqlalchemy/engine/base.py", line 824, in execute return Connection.executors[c](self, object, multiparams, params) File "/Users/james/virtual/unit_tests/lib/python2.5/site-packages/ SQLAlchemy-0.5.1-py2.5.egg/sqlalchemy/engine/base.py", line 874, in _execute_clauseelement return self.__execute_context(context) File "/Users/james/virtual/unit_tests/lib/python2.5/site-packages/ SQLAlchemy-0.5.1-py2.5.egg/sqlalchemy/engine/base.py", line 896, in __execute_context self._cursor_execute(context.cursor, context.statement, context.parameters[0], context=context) File "/Users/james/virtual/unit_tests/lib/python2.5/site-packages/ SQLAlchemy-0.5.1-py2.5.egg/sqlalchemy/engine/base.py", line 950, in _cursor_execute self._handle_dbapi_exception(e, statement, parameters, cursor, context) File "/Users/james/virtual/unit_tests/lib/python2.5/site-packages/ SQLAlchemy-0.5.1-py2.5.egg/sqlalchemy/engine/base.py", line 931, in _handle_dbapi_exception raise exc.DBAPIError.instance(statement, parameters, e, connection_invalidated=is_disconnect) OperationalError: (OperationalError) no such table: tg_user u'INSERT INTO tg_user (user_name, email_address, display_name, password, created) VALUES (?, ?, ?, ?, ?)' [u'manager', u'mana...@somedomain.com', u'Example manager', u'276e4c1a24e5c8005f71dc8a2a86912347355f4dae87891e37ccea9c5fdc2753c49549168c8d558e', '2009-11-07 10:51:40.039211'] Can anyone see why a new created table wouldn't be found by SQLAlchemy? What more information could I give that would be useful? This is using sqlalchemy.url = sqlite:///:memory: Thanks! James --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---