I am doing a bit of testing and run into this exception.

Traceback (most recent call last):
  File "saCreateDb.py", line 31, in <module>
    meta.create_all(engine)
File "c:\python25\lib\site-packages\sqlalchemy-0.6beta1-py2.5.egg\sqlalchemy\schema.py", line 1934, in create_all
    bind.create(self, checkfirst=checkfirst, tables=tables)
File "c:\python25\lib\site-packages\sqlalchemy-0.6beta1-py2.5.egg\sqlalchemy\engine\base.py", line 1393, in create self._run_visitor(ddl.SchemaGenerator, entity, connection=connection, **kwargs) File "c:\python25\lib\site-packages\sqlalchemy-0.6beta1-py2.5.egg\sqlalchemy\engine\base.py", line 1424, in _run_visitor
    visitorcallable(self.dialect, conn, **kwargs).traverse(element)
File "c:\python25\lib\site-packages\sqlalchemy-0.6beta1-py2.5.egg\sqlalchemy\sql\visitors.py", line 86, in traverse
    return traverse(obj, self.__traverse_options__, self._visitor_dict)
File "c:\python25\lib\site-packages\sqlalchemy-0.6beta1-py2.5.egg\sqlalchemy\sql\visitors.py", line 197, in traverse
    return traverse_using(iterate(obj, opts), obj, visitors)
File "c:\python25\lib\site-packages\sqlalchemy-0.6beta1-py2.5.egg\sqlalchemy\sql\visitors.py", line 191, in traverse_using
    meth(target)
File "c:\python25\lib\site-packages\sqlalchemy-0.6beta1-py2.5.egg\sqlalchemy\engine\ddl.py", line 42, in visit_metadata
    self.traverse_single(table)
File "c:\python25\lib\site-packages\sqlalchemy-0.6beta1-py2.5.egg\sqlalchemy\sql\visitors.py", line 76, in traverse_single
    return meth(obj)
File "c:\python25\lib\site-packages\sqlalchemy-0.6beta1-py2.5.egg\sqlalchemy\engine\ddl.py", line 55, in visit_table
    self.connection.execute(schema.CreateTable(table))
File "c:\python25\lib\site-packages\sqlalchemy-0.6beta1-py2.5.egg\sqlalchemy\engine\base.py", line 1035, in execute
    return Connection.executors[c](self, object, multiparams, params)
File "c:\python25\lib\site-packages\sqlalchemy-0.6beta1-py2.5.egg\sqlalchemy\engine\base.py", line 1084, in _execute_ddl
    return self.__execute_context(context)
File "c:\python25\lib\site-packages\sqlalchemy-0.6beta1-py2.5.egg\sqlalchemy\engine\base.py", line 1120, in __execute_context self._cursor_execute(context.cursor, context.statement, context.parameters[0], context=context) File "c:\python25\lib\site-packages\sqlalchemy-0.6beta1-py2.5.egg\sqlalchemy\engine\base.py", line 1182, in _cursor_execute
    self._handle_dbapi_exception(e, statement, parameters, cursor, context)
File "c:\python25\lib\site-packages\sqlalchemy-0.6beta1-py2.5.egg\sqlalchemy\engine\base.py", line 1180, in _cursor_execute
    self.dialect.do_execute(cursor, statement, parameters, context=context)
File "c:\python25\lib\site-packages\sqlalchemy-0.6beta1-py2.5.egg\sqlalchemy\dialects\firebird\base.py", line 614, in do_execute
    cursor.execute(statement, parameters or [])
sqlalchemy.exc.ProgrammingError: (ProgrammingError) (-104, 'isc_dsql_prepare: \n Dynamic SQL Error\n SQL error code = -104\n Token unknown - line 4, column 14\n ,') '\nCREATE TABLE users (\n\tid INTEGER NOT NULL, \n\tname VARCHAR, \n\tfullname VARCHAR, \n\t"password" VARCHAR, \n\tPRIMARY KEY (id)\n)\n\n' ()

Same code using 0.5.8 works fine.

The model for users is:

class User(Base):
    """"""
    __tablename__ = "users"

    id = sa.Column(sa.Integer, sa.Sequence('users_id'), primary_key=True)
    name = sa.Column(sa.String)
    fullname = sa.Column(sa.String)
    password = sa.Column(sa.String)

It looks (using echo=True) like 0.5.8 used BLOB instead of VARCHAR for String without a size.

I guess this is as designed looking at 06Migration - Miscellaneous API changes.

If this as designed then maybe the tutorials should change from e.g.:

name = Column(String)
to
name = Column(String, length=30)

Werner

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