반응형
설명서에서 이에 대한 정보를 찾을 수 없지만 SQLAlchemy에서 생성 된 테이블 목록을 어떻게 얻을 수 있습니까?
클래스 메서드를 사용하여 테이블을 만들었습니다.
해결 방법
모든 테이블은 SQLAlchemy MetaData 개체의 tables
속성에 수집됩니다. 해당 테이블의 이름 목록을 얻으려면 다음을 수행하십시오.
>>> metadata.tables.keys()
['posts', 'comments', 'users']
선언적 확장을 사용하는 경우 메타 데이터를 직접 관리하지 않을 수 있습니다. 다행히도 메타 데이터는 여전히 기본 클래스에 있습니다.
>>> Base = sqlalchemy.ext.declarative.declarative_base()
>>> Base.metadata
MetaData(None)
SQLAlchemy에 아직 말하지 않은 테이블 중에서도 데이터베이스에 어떤 테이블이 있는지 파악하려는 경우 테이블 리플렉션을 사용할 수 있습니다. 그런 다음 SQLAlchemy는 데이터베이스를 검사하고 누락 된 모든 테이블로 메타 데이터를 업데이트합니다.
>>> metadata.reflect(engine)
Postgres의 경우 스키마가 여러 개인 경우 엔진의 모든 스키마를 반복해야합니다.
from sqlalchemy import inspect
inspector = inspect(engine)
schemas = inspector.get_schema_names()
for schema in schemas:
print("schema: %s" % schema)
for table_name in inspector.get_table_names(schema=schema):
for column in inspector.get_columns(table_name, schema=schema):
print("Column: %s" % column)
참조 페이지 https://stackoverflow.com/questions/6473925
반응형
'파이썬' 카테고리의 다른 글
파이썬 문자열 소스의 Python XML ElementTree? (0) | 2020.09.30 |
---|---|
파이썬 목록 전치 (0) | 2020.09.30 |
파이썬 Windows에서 Python이 설치된 위치를 어떻게 찾을 수 있습니까? (0) | 2020.09.30 |
파이썬 변수가 앞에 오는 Python for-in 루프 (0) | 2020.09.30 |
파이썬에서 대용량 텍스트 파일을 메모리에로드하지 않고 한 줄씩 읽을 수 있습니까? (0) | 2020.09.30 |
댓글