Dear SQLAlchemists,

With the following script, I get the traceback below. This is not the actual example I ran into, but a small test case. To my surprise, I was able to reproduce the identical error almost immediately. In my actual code, I was able to work around this error by doing a table.create() on the first table followed by a create_all, but that doesn't seem to work with my small example.

This is SQLAlchemy 0.5.8-1 running on Debian lenny with python 2.5.2-3, and with PostgreSQL 8.4.2-1~bpo50+1. I'm considering moving to 0.6 but am concerned about breakage.

This seems pretty innocuous. Clarifications appreciated.

                                                        Regards, Faheem.

***********************************************************************
from sqlalchemy import *
from sqlalchemy.orm import *
from sqlalchemy import MetaData
meta = MetaData()

foo = Table(
    'foo', meta,
    Column('id',  None, nullable=False, primary_key=True),
    )

bar = Table(
    'bar', meta,
    Column('id',  None, ForeignKey('foo.id', onupdate='CASCADE',
    ondelete='CASCADE'), nullable=False, primary_key=True),
    )

dbuser =
password =
dbname =
dbstring = "postgres://%s:%...@localhost:5432/%s"%(dbuser, password, dbname)
from sqlalchemy import create_engine
db = create_engine(dbstring)
meta.bind = db
meta.create_all()
Session = sessionmaker()
session = Session(bind=db)

**********************************************************
Traceback (most recent call last):
  File "<stdin>", line 23, in <module>
File "/usr/lib/pymodules/python2.5/sqlalchemy/schema.py", line 1811, in create_all
    bind.create(self, checkfirst=checkfirst, tables=tables)
File "/usr/lib/pymodules/python2.5/sqlalchemy/engine/base.py", line 1129, in create self._run_visitor(self.dialect.schemagenerator, entity, connection=connection, **kwargs) File "/usr/lib/pymodules/python2.5/sqlalchemy/engine/base.py", line 1158, in _run_visitor
    visitorcallable(self.dialect, conn, **kwargs).traverse(element)
File "/usr/lib/pymodules/python2.5/sqlalchemy/sql/visitors.py", line 89, in traverse
    return traverse(obj, self.__traverse_options__, self._visitor_dict)
File "/usr/lib/pymodules/python2.5/sqlalchemy/sql/visitors.py", line 200, in traverse
    return traverse_using(iterate(obj, opts), obj, visitors)
File "/usr/lib/pymodules/python2.5/sqlalchemy/sql/visitors.py", line 194, in traverse_using
    meth(target)
File "/usr/lib/pymodules/python2.5/sqlalchemy/sql/compiler.py", line 831, in visit_metadata
    self.traverse_single(table)
File "/usr/lib/pymodules/python2.5/sqlalchemy/sql/visitors.py", line 79, in traverse_single
    return meth(obj)
File "/usr/lib/pymodules/python2.5/sqlalchemy/sql/compiler.py", line 856, in visit_table self.append("\t" + self.get_column_specification(column, first_pk=column.primary_key and not first_pk)) File "/usr/lib/pymodules/python2.5/sqlalchemy/databases/postgres.py", line 849, in get_column_specification
    colspec += " " + column.type.dialect_impl(self.dialect).get_col_spec()
File "/usr/lib/pymodules/python2.5/sqlalchemy/types.py", line 392, in get_col_spec
    raise NotImplementedError()
NotImplementedError

--
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalch...@googlegroups.com.
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en.

Reply via email to