Excerpts from jo's message of Tue Mar 30 03:25:18 -0300 2010:
> Hi all,
> 
> I have some troubles creating my db schema with Oracle. The problem is 
> on this column:
> 
> Column('cod_caratteristica_rischio', Unicode(10), index=True, 
> nullable=False)
> 
> It works fine in PostgreSQL but when I try it on Oracle sa tries to 
> create an index with a name too long (> 30 char).
> 
> 
> tbl['rischio_attivita'] = Table('rischio_attivita', database.metadata,
> Column('id', Integer, Sequence('rischio_attivita_seq'), primary_key=True),
> Column('cod_attivita', Unicode(10),nullable=False),
> Column('cod_caratteristica_rischio', Unicode(10), index=True, 
> nullable=False),
> Column('tipo_calcolo', Integer),
> Column('algoritmo', Unicode(200)),
> Column('fattore_x', Float, PassiveDefault('1.0')),
> ForeignKeyConstraint(['cod_attivita'], ['attivita.codice']),
> ForeignKeyConstraint(['cod_caratteristica_rischio'], 
> ['caratteristica_rischio.codice'])
> )
> 
> 
> File "/usr/lib/python2.4/site-packages/sqlalchemy/engine/base.py", line 
> 599, in _execute
> raise exceptions.SQLError(context.statement, context.parameters, e)
> sqlalchemy.exceptions.SQLError: (DatabaseError) ORA-00972: identifier is 
> too long
> 'CREATE INDEX ix_rischio_attivita_cod_caratteristica_rischio ON 
> rischio_attivita (cod_caratteristica_rischio)' {}
> 

Hi there, instead of creating the index as part of the Column
expression, use the Index[1] statement and assign a name yourself.

[1]
http://www.sqlalchemy.org/docs/reference/sqlalchemy/schema.html#sqlalchemy.schema.Index

> 
> -- 
> Jose Soares
> Sferacarta Net 
> Via Bazzanese 69
> 40033 Casalecchio di Reno
> Bologna - Italy
> Ph  +39051591054
> fax +390516131537
> web:www.sferacarta.com
> 
> Le informazioni contenute nella presente mail ed in ogni eventuale file 
> allegato sono riservate e, comunque, destinate esclusivamente alla persona o 
> ente sopraindicati, ai sensi del decreto legislativo 30 giugno 2003, n. 196. 
> La diffusione, distribuzione e/o copiatura della mail trasmessa, da parte di 
> qualsiasi soggetto diverso dal destinatario, sono vietate. La correttezza, 
> l’integrità e la sicurezza della presente mail non possono essere garantite. 
> Se avete ricevuto questa mail per errore, Vi preghiamo di contattarci 
> immediatamente e di eliminarla. Grazie.
> 
> This communication is intended only for use by the addressee, pursuant to 
> legislative decree 30 June 2003, n. 196. It may contain confidential or 
> privileged information. You should not copy or use it to disclose its 
> contents to any other person. Transmission cannot be guaranteed to be 
> error-free, complete and secure. If you are not the intended recipient and 
> receive this communication unintentionally, please inform us immediately and 
> then delete this message from your system. Thank you.
> 

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