Согласно документации: http://docs.sqlalchemy.org/en/latest/core/constraints.html#indexes
и комментарии в классе sqlalchemy.Column, мы должны использовать класс sqlalchemy.schema.Index
для указания индекса, который содержит несколько множественных индексов.
Однако, пример показывает, как сделать это, напрямую используя объект Table следующим образом:
meta = MetaData()
mytable = Table('mytable', meta,
# an indexed column, with index "ix_mytable_col1"
Column('col1', Integer, index=True),
# a uniquely indexed column with index "ix_mytable_col2"
Column('col2', Integer, index=True, unique=True),
Column('col3', Integer),
Column('col4', Integer),
Column('col5', Integer),
Column('col6', Integer),
)
# place an index on col3, col4
Index('idx_col34', mytable.c.col3, mytable.c.col4)
Как это сделать, если мы используем декларативное расширение ORM?
class A(Base):
__tablename__ = 'table_A'
id = Column(Integer, , primary_key=True)
a = Column(String(32))
b = Column(String(32))
Мне нужен индекс в столбцах "a" и "b".