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
-~----------~----~----~----~------~----~------~--~---

Reply via email to