I'm getting an error that only occurs when I define my tables in a 
schema.  First the definitions:

from sqlalchemy import *
from sqlalchemy.types import INTEGER, VARCHAR, TEXT, DATETIME

# Define some global values.
schemaname='planreview'

metadata = DynamicMetaData(name="planreview metadata")

projects = Table('projects', metadata,
     Column('id', INTEGER, primary_key=True),
     Column('title', VARCHAR(200), nullable=False),
     Column('project_type', VARCHAR(100), nullable=False, 
default='Standard'),
     Column('description', TEXT, nullable=False),
     Column('reviewer_name', VARCHAR(100), nullable=False),
     Column('pro_engineer_name', VARCHAR(100)),
     Column('notes', TEXT, nullable=False),
     schema=schemaname
)

actions = Table('actions', metadata,
     Column('id', INTEGER, primary_key=True),
     Column('name', VARCHAR(100), nullable=False),
     Column('suser_name', VARCHAR(100), nullable=False),
     Column('action_time', DATETIME, nullable=False, default=func.now()),
     Column('notes', TEXT, nullable=False),
     Column('input_time', DATETIME, nullable=False, default=func.now()),
     Column('project', INTEGER,
         ForeignKey("%s.projects.id" % schemaname),
         nullable=False),
     schema=schemaname
)

Now the executing code:

         engine = sqla.connect('pg_dev')
         engine.echo = True
         planreview.metadata.connect(engine)
         planreview.metadata.create_all()

And the error:

Traceback (most recent call last):
   File "test_planreview.py", line 13, in testImport
     planreview.metadata.create_all()
   File "build/bdist.linux-i686/egg/sqlalchemy/schema.py", line 633, in 
create_all
   File "build/bdist.linux-i686/egg/sqlalchemy/engine/base.py", line 
452, in run_callable
   File "build/bdist.linux-i686/egg/sqlalchemy/schema.py", line 628, in do
   File "build/bdist.linux-i686/egg/sqlalchemy/schema.py", line 655, in 
_sort_tables
   File "build/bdist.linux-i686/egg/sqlalchemy/sql_util.py", line 22, in 
sort
   File "build/bdist.linux-i686/egg/sqlalchemy/schema.py", line 184, in 
accept_schema_visitor
   File "build/bdist.linux-i686/egg/sqlalchemy/schema.py", line 393, in 
accept_schema_visitor
   File "build/bdist.linux-i686/egg/sqlalchemy/schema.py", line 456, in 
accept_schema_visitor
   File "build/bdist.linux-i686/egg/sqlalchemy/sql_util.py", line 17, in 
visit_foreign_key
   File "build/bdist.linux-i686/egg/sqlalchemy/schema.py", line 452, in 
<lambda>
   File "build/bdist.linux-i686/egg/sqlalchemy/schema.py", line 442, in 
_init_column
   File "build/bdist.linux-i686/egg/sqlalchemy/schema.py", line 77, in 
__call__
ArgumentError: Table 'planreview.projects' not defined

If I were to not use a schema, I wouldn't get any errors.

Randall


_______________________________________________
Sqlalchemy-users mailing list
Sqlalchemy-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sqlalchemy-users

Reply via email to