Как проверить, какие поля имеют индексы в таблице или классе SQLAlchemy? - PullRequest
0 голосов
/ 04 мая 2020

Вот определение таблицы с использованием SQLAlchemy Declarative_base:

t_measures_voyage_crude = Table(
    'measures_voyage_crude', metadata,
    Column('tanker', String(255)),
    Column('load_point', Text),
    Column('load_port', String(255)),
    Column('load_country', NullType),
    Column('load_region', String(255)),
    Column('date_depart', Date),
    Column('offtake_point', Text),
    Column('offtake_port', String(255)),
    Column('offtake_country', NullType),
    Column('offtake_region', String(255)),
    Column('date_arrive', Date),
    Column('grade', Text),
    Column('bbls', BigInteger),
    Column('row_num', Integer, index=True),
    Column('date_num', Integer, index=True),
    Column('stat_num', Integer, index=True),
    schema='numbergo'
)

У него есть три индексированных поля, но если у меня есть объект таблицы в переменной, как мне перечислить эти столбцы, которые имеют индексы?

Аналогично для класса произнесите следующее:

class MasterBpd(Base):
    __tablename__ = 'master_bpd'
    __table_args__ = {'schema': 'numbergo'}

    date = Column(Date, primary_key=True)
    bpd_imp_yr = Column(Integer)
    bpd_imp_mo = Column(Integer)
    bpd_imp_wk = Column(Integer)
    bpd_dom_yr = Column(Integer)
    bpd_dom_mo = Column(Integer)
    bpd_dom_wk = Column(Integer)
    row_num = Column(BigInteger, nullable=False, index=True)
    date_num = Column(BigInteger, nullable=False, index=True)

Как программно проверить, какие поля имеют индексы, а какой первичный ключ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...