Hi folks, I'm trying to set up SA with MySQL but can't get foreign key
relations working properly. Below is the result of the "tg-admin sql
create" and my model. If anyone can shed some light that would be great,
gooling the error message turned up nothing. I have had no problems
until turning on the foreign key.
2007-01-25 13:53:39,941 sqlalchemy.pool.QueuePool.0x..14 INFO Connection
<_mysql.connection open to 'localhost' at 863e0ac> being returned to
pool
Traceback (most recent call last):
File "/usr/local/bin/tg-admin", line 7, in ?
sys.exit(
File
"/usr/lib/python2.4/site-packages/TurboGears-1.0-py2.4.egg/turbogears/command/base.py",
line 389, in main
command.run()
File
"/usr/lib/python2.4/site-packages/TurboGears-1.0-py2.4.egg/turbogears/command/base.py",
line 115, in run
sacommand(command, sys.argv)
File "<string>", line 5, in sacommand
File
"/usr/lib/python2.4/site-packages/TurboGears-1.0-py2.4.egg/turbogears/command/base.py",
line 70, in sacreate
metadata.create_all()
File "build/bdist.linux-i686/egg/sqlalchemy/schema.py", line 862, in
create_all
File "build/bdist.linux-i686/egg/sqlalchemy/engine/base.py", line 413,
in create
File "build/bdist.linux-i686/egg/sqlalchemy/engine/base.py", line 437,
in _run_visitor
File "build/bdist.linux-i686/egg/sqlalchemy/schema.py", line 882, in
accept_schema_visitor
File "build/bdist.linux-i686/egg/sqlalchemy/ansisql.py", line 637, in
visit_metadata
File "build/bdist.linux-i686/egg/sqlalchemy/schema.py", line 268, in
accept_schema_visitor
File "build/bdist.linux-i686/egg/sqlalchemy/ansisql.py", line 658, in
visit_table
File "build/bdist.linux-i686/egg/sqlalchemy/databases/mysql.py", line
435, in get_column_specification
AttributeError: 'ForeignKey' object has no attribute 'engine_impl'
Here is the model in question:
# A web page within the site
page_table = Table("pages", metadata,
Column("id", Integer, primary_key=True),
Column("name", Unicode(100)),
Column("title", Unicode(100)),
Column("link", Unicode(50)),
Column("content", Unicode),
Column("notes", Unicode),
Column("visible", Boolean, default=True),
)
# menu items
menu_table = Table("menu_items", metadata,
Column("id", Integer, primary_key=True),
Column("name", Unicode(100) ),
Column("page_id", ForeignKey("pages.id"), nullable=False ),
Column("title", Unicode(100) ),
Column("link", Unicode(100) ),
Column("ordering", Integer, default=0 ),
Column("notes", Unicode),
Column("visible", Boolean, default=True),
)
class Page(object):
pass
class Menu_Item(object):
pass
assign_mapper(session.context, Page, page_table)
assign_mapper(session.context, Menu_Item, menu_table,
properties = { "page": relation(Page) } )
Thanks,
Iain
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"TurboGears" 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/turbogears?hl=en
-~----------~----~----~----~------~----~------~--~---