Selon la documentation: http://www.sqlalchemy.org/docs/06/core/schema.html?highlight=index#indexes
et les commentaires dans le sqlalchemy.Colonne de classe, il convient d'utiliser la classe de sqlalchemy.schéma.Indice pour spécifier un index qui contiennent plusieurs index.
Cependant, l'exemple montre comment le faire en utilisant directement l'objet de la Table comme ceci:
meta = Métadonnées() matable = Table('mytable', meta, # une colonne indexée, avec l'index "ix_mytable_col1" Colonne ("col1', Entier, index=True), # une unique colonne indexée à l'indice "ix_mytable_col2" Colonne ("col2', Entier, index=True, unique=True), Colonne ("col3', Entier), Colonne ("col4', Entier), Colonne ("col5', Entier), Colonne ("col6', Entier), ) # placez un index sur col3, col4 Index('idx_col34', mytable.c.col3, mytable.c.col4)
Comment devrions-nous le faire si nous utilisons le déclaratif ORM extension?
class A(Base):
__tablename__ = 'table_A'
id = Column(Integer, , primary_key=True)
a = Column(String(32))
b = Column(String(32))
Je voudrais un index sur la colonne "a" et "b".