Hi,
I am developing a web app using SQLite (which I will switch to
PostgreSQL in production) and came across a weird select error when
using schema. The attached file test.py reproduces the error and
output.txt is the output from running the script.
I have tested with 0.4.2p3 and trunk r4097.
Am I missing something?
Cheers,
Nick
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---
import sqlalchemy as sa
from sqlalchemy import orm
metadata = sa.MetaData()
user = sa.Table('user', metadata,
sa.Column('id', sa.Integer, primary_key=True, autoincrement=True),
sa.Column('username', sa.String(50)),
sa.Column('password', sa.String(50)),
schema='auth')
class User(object):
pass
orm.mapper(User, user)
if __name__ == '__main__':
engine = sa.create_engine('sqlite://', echo=True)
metadata.create_all(bind=engine)
Session = orm.scoped_session(orm.sessionmaker(
autoflush=True, transactional=True, bind=engine))
u = User()
u.username = 'spam'
u.password = 'eggs'
Session.save(u)
Session.commit()
Session.flush()
del u
print Session.query(User).get(1)
2008-01-25 09:40:58,002 INFO sqlalchemy.engine.base.Engine.0x..4c PRAGMA
table_info("user")
2008-01-25 09:40:58,002 INFO sqlalchemy.engine.base.Engine.0x..4c {}
2008-01-25 09:40:58,004 INFO sqlalchemy.engine.base.Engine.0x..4c
CREATE TABLE user (
id INTEGER NOT NULL,
username VARCHAR(50),
password VARCHAR(50),
PRIMARY KEY (id)
)
2008-01-25 09:40:58,005 INFO sqlalchemy.engine.base.Engine.0x..4c {}
2008-01-25 09:40:58,006 INFO sqlalchemy.engine.base.Engine.0x..4c COMMIT
2008-01-25 09:40:58,009 INFO sqlalchemy.engine.base.Engine.0x..4c BEGIN
2008-01-25 09:40:58,010 INFO sqlalchemy.engine.base.Engine.0x..4c INSERT INTO
user (username, password) VALUES (?, ?)
2008-01-25 09:40:58,011 INFO sqlalchemy.engine.base.Engine.0x..4c ['spam',
'eggs']
2008-01-25 09:40:58,012 INFO sqlalchemy.engine.base.Engine.0x..4c COMMIT
2008-01-25 09:40:58,021 INFO sqlalchemy.engine.base.Engine.0x..4c BEGIN
2008-01-25 09:40:58,144 INFO sqlalchemy.engine.base.Engine.0x..4c SELECT
user.id AS user_id, user.username AS user_username, user.password AS
user_password
FROM auth.user
WHERE user.id = ?
2008-01-25 09:40:58,144 INFO sqlalchemy.engine.base.Engine.0x..4c [1]
Traceback (most recent call last):
File "test.py", line 34, in <module>
print Session.query(User).get(1)
File
"/usr/lib/python2.5/site-packages/SQLAlchemy-0.4.2p3-py2.5.egg/sqlalchemy/orm/query.py",
line 146, in get
return self._get(key, ident, **kwargs)
File
"/usr/lib/python2.5/site-packages/SQLAlchemy-0.4.2p3-py2.5.egg/sqlalchemy/orm/query.py",
line 893, in _get
return q.all()[0]
File
"/usr/lib/python2.5/site-packages/SQLAlchemy-0.4.2p3-py2.5.egg/sqlalchemy/orm/query.py",
line 703, in all
return list(self)
File
"/usr/lib/python2.5/site-packages/SQLAlchemy-0.4.2p3-py2.5.egg/sqlalchemy/orm/query.py",
line 764, in __iter__
return self._execute_and_instances(context)
File
"/usr/lib/python2.5/site-packages/SQLAlchemy-0.4.2p3-py2.5.egg/sqlalchemy/orm/query.py",
line 767, in _execute_and_instances
result = self.session.execute(querycontext.statement, params=self._params,
mapper=self.mapper, instance=self._refresh_instance)
File
"/usr/lib/python2.5/site-packages/SQLAlchemy-0.4.2p3-py2.5.egg/sqlalchemy/orm/session.py",
line 535, in execute
return self.__connection(engine, close_with_result=True).execute(clause,
params or {})
File
"/usr/lib/python2.5/site-packages/SQLAlchemy-0.4.2p3-py2.5.egg/sqlalchemy/engine/base.py",
line 844, in execute
return Connection.executors[c](self, object, multiparams, params)
File
"/usr/lib/python2.5/site-packages/SQLAlchemy-0.4.2p3-py2.5.egg/sqlalchemy/engine/base.py",
line 895, in execute_clauseelement
return self._execute_compiled(elem.compile(dialect=self.dialect,
column_keys=keys, inline=len(params) > 1), distilled_params=params)
File
"/usr/lib/python2.5/site-packages/SQLAlchemy-0.4.2p3-py2.5.egg/sqlalchemy/engine/base.py",
line 907, in _execute_compiled
self.__execute_raw(context)
File
"/usr/lib/python2.5/site-packages/SQLAlchemy-0.4.2p3-py2.5.egg/sqlalchemy/engine/base.py",
line 916, in __execute_raw
self._cursor_execute(context.cursor, context.statement,
context.parameters[0], context=context)
File
"/usr/lib/python2.5/site-packages/SQLAlchemy-0.4.2p3-py2.5.egg/sqlalchemy/engine/base.py",
line 953, in _cursor_execute
self._handle_dbapi_exception(e, statement, parameters, cursor)
File
"/usr/lib/python2.5/site-packages/SQLAlchemy-0.4.2p3-py2.5.egg/sqlalchemy/engine/base.py",
line 935, in _handle_dbapi_exception
raise exceptions.DBAPIError.instance(statement, parameters, e,
connection_invalidated=is_disconnect)
sqlalchemy.exceptions.OperationalError: (OperationalError) no such table:
auth.user u'SELECT user.id AS user_id, user.username AS user_username,
user.password AS user_password \nFROM auth.user \nWHERE user.id = ?' [1]