Package: python-sqlalchemy
Version: 0.5.3-1
Severity: important

Creation of schema-qualified tables fails with the sqlite backend. I
want to use that in the unittests, so I don't require the real database.

| Traceback (most recent call last):
|   File "bug.py", line 11, in <module>
|     metadata.create_all(engine)
|   File "/var/lib/python-support/python2.5/sqlalchemy/schema.py", line 1765, 
in create_all
|     bind.create(self, checkfirst=checkfirst, tables=tables)
|   File "/var/lib/python-support/python2.5/sqlalchemy/engine/base.py", line 
1129, in create
|     self._run_visitor(self.dialect.schemagenerator, entity, 
connection=connection, **kwargs)
|   File "/var/lib/python-support/python2.5/sqlalchemy/engine/base.py", line 
1158, in _run_visitor
|     visitorcallable(self.dialect, conn, **kwargs).traverse(element)
|   File "/var/lib/python-support/python2.5/sqlalchemy/sql/visitors.py", line 
89, in traverse
|     return traverse(obj, self.__traverse_options__, self._visitor_dict)
|   File "/var/lib/python-support/python2.5/sqlalchemy/sql/visitors.py", line 
200, in traverse
|     return traverse_using(iterate(obj, opts), obj, visitors)
|   File "/var/lib/python-support/python2.5/sqlalchemy/sql/visitors.py", line 
194, in traverse_using
|     meth(target)
|   File "/var/lib/python-support/python2.5/sqlalchemy/sql/compiler.py", line 
807, in visit_metadata
|     collection = [t for t in sql_util.sort_tables(tables) if 
self._can_create(t)]
|   File "/var/lib/python-support/python2.5/sqlalchemy/sql/compiler.py", line 
800, in _can_create
|     return not self.checkfirst or not self.dialect.has_table(self.connection, 
table.name, schema=table.schema)
|   File "/var/lib/python-support/python2.5/sqlalchemy/databases/sqlite.py", 
line 442, in has_table
|     cursor = _pragma_cursor(connection.execute("%stable_info(%s)" % (pragma, 
qtable)))
|   File "/var/lib/python-support/python2.5/sqlalchemy/engine/base.py", line 
824, in execute
|     return Connection.executors[c](self, object, multiparams, params)
|   File "/var/lib/python-support/python2.5/sqlalchemy/engine/base.py", line 
888, in _execute_text
|     return self.__execute_context(context)
|   File "/var/lib/python-support/python2.5/sqlalchemy/engine/base.py", line 
896, in __execute_context
|     self._cursor_execute(context.cursor, context.statement, 
context.parameters[0], context=context)
|   File "/var/lib/python-support/python2.5/sqlalchemy/engine/base.py", line 
950, in _cursor_execute
|     self._handle_dbapi_exception(e, statement, parameters, cursor, context)
|   File "/var/lib/python-support/python2.5/sqlalchemy/engine/base.py", line 
931, in _handle_dbapi_exception
|     raise exc.DBAPIError.instance(statement, parameters, e, 
connection_invalidated=is_disconnect)
| sqlalchemy.exc.OperationalError: (OperationalError) unknown database "test" 
'PRAGMA "test".table_info("test")' ()

Testcode:

from sqlalchemy import MetaData, Table, Column, Integer
from sqlalchemy import create_engine

metadata = MetaData()
abonnement_table = Table('test', metadata,
    Column('id', Integer, primary_key=True),
    schema='test',
)

engine = create_engine('sqlite:///:memory:')
metadata.create_all(engine)

Bastian

-- 
I'm a soldier, not a diplomat.  I can only tell the truth.
                -- Kirk, "Errand of Mercy", stardate 3198.9



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to