Sorry for misleading question. I found the problem and it was related to the
index management.

Here's sample:

...

class Person(DeclarativeBase):
  id = Column(Integer, primary_key=True)
  test = Column(Integer, index=True, unique=True)

... and another file:

from test import Person

class Engineer(Person):
  test = Column(Integer)

def drop_test_index():
    for i in Engineer.__table__.indexes:
        if Engineer.test in i.columns:
            Engineer.__table__.indexes.remove(i)
            break
drop_test_index()

Fixes it. Is there better way to do it?

Thanks,
Serge.

On Mon, Dec 21, 2009 at 12:03 PM, Serge Koval <serge.ko...@gmail.com> wrote:

> Hello,
>
> I'm trying to override column type in a single-table inheritance, using
> declarative syntax and a bit stuck. Is it possible at all?
> Sample code:
>
> class Person(DeclarativeBase):
>   id = Column(Integer, primary_key=True)
>   test = Column(Integer, unique=True)
>
> class Engineer(Person):
>   test = Column(Integer)
>
> Instead of removing unique flag (from inherited column definition), I get
> composite column test.
>
> Thanks,
> Serge.
>
>
>

--

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