我一直在使用 sqlalchemy 进行其余的实现,现在我想从数据库中获取表的列表。我试过这些:
# first attempt
engine = create_engine(datasource.connection_string)
insp = reflection.Inspector.from_engine(engine)
tables = insp.get_table_names()
view = insp.get_view_names()
# second attempt
meta = MetaData()
meta.reflect(bind=engine, views=True)
虽然它们都工作得很好,但它们都有各自的缺点。
- 第一个没有给我架构,而只有对象名称
- 第二个给了我世界,但跑得很慢......
- 两者都没有过滤
使用 sql 语句不是一个选项,因为我需要它有点跨数据库。
有没有办法快速加载包括模式在内的对象?过滤不太重要,因为我可以在对象列表上足够快地做到这一点。