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 sqlalchemy@googlegroups.com
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]

Reply via email to