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.
My apologies if you get this twice. I posted earlier today and it
didn't seem to go through.
Randall
_______________________________________________
Sqlalchemy-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sqlalchemy-users