使用sqlalchemy列出索引

10 投票
2 回答
3787 浏览
提问于 2025-04-16 15:23

有没有办法用sqlalchemy列出数据库中的所有索引?

2 个回答

1

这里有个小更新,关于@nosklo的回答,这个回答在SQLAlchemy 1.4版本后就不再适用了。

新的代码应该是:

from sqlalchemy import create_engine, inspect

engine = create_engine("...")
insp = inspect(engine)
for name in insp.get_table_names():
    for index in insp.get_indexes(name):
        print(index)

注意,你也可以把一个Connection对象作为参数传给inspect,在某些情况下这样做会更方便。

13

是的。

from sqlalchemy import create_engine
from sqlalchemy.engine import reflection
engine = create_engine('...')
insp = reflection.Inspector.from_engine(engine)
for name in insp.get_table_names():
    for index in insp.get_indexes(name):
        print index

撰写回答