On Jan 23, 2012, at 8:25 AM, Robert Forkel wrote:

> hi,
> just ran into the following problem: When creating tables (for oracle)
> with a primary key fetched from a sequence, the create statement for
> the sequence is issued twice; i.e. the following code
> 
> from sqlalchemy import MetaData, create_engine, Table, Column,
> Integer, Sequence
> from sqlalchemy.schema import DDL
> 
> def dump(sql, *multiparams, **params):
>    print sql.compile(dialect=engine.dialect)
> engine = create_engine('oracle://', strategy='mock', executor=dump)
> 
> metadata = MetaData()
> metadata.bind = engine
> 
> t = Table('testtable', metadata,
>    Column('pk', Integer, Sequence('testtable_pk_seq',
> schema='schemaname'), primary_key=True),
>    schema='schemaname'
> )
> t.create()

this is a fairly serious issue captured in 
http://www.sqlalchemy.org/trac/ticket/2384 , for now a workaround is to say:

metadata.create_all(tables=[t])


-- 
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@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