diff --git a/backend/check_table_schema.py b/backend/check_table_schema.py new file mode 100644 index 0000000..71432a0 --- /dev/null +++ b/backend/check_table_schema.py @@ -0,0 +1,54 @@ +""" +SALE_MAIN 테이블 컬럼 확인 스크립트 +""" + +import sys +import os +sys.path.insert(0, os.path.dirname(__file__)) + +from db.dbsetup import DatabaseManager +from sqlalchemy import text + +def check_sale_table_columns(table_name): + """테이블의 모든 컬럼 확인""" + db_manager = DatabaseManager() + + try: + session = db_manager.get_session('PM_PRES') + + # SQL Server에서 테이블 컬럼 정보 조회 + query = text(f""" + SELECT + COLUMN_NAME, + DATA_TYPE, + CHARACTER_MAXIMUM_LENGTH, + IS_NULLABLE + FROM INFORMATION_SCHEMA.COLUMNS + WHERE TABLE_NAME = '{table_name}' + ORDER BY ORDINAL_POSITION + """) + + columns = session.execute(query).fetchall() + + print("=" * 80) + print(f"{table_name} 테이블 컬럼 목록") + print("=" * 80) + + for col in columns: + nullable = "NULL" if col.IS_NULLABLE == 'YES' else "NOT NULL" + max_len = f"({col.CHARACTER_MAXIMUM_LENGTH})" if col.CHARACTER_MAXIMUM_LENGTH else "" + print(f"{col.COLUMN_NAME:30} {col.DATA_TYPE}{max_len:20} {nullable}") + + print("=" * 80) + print(f"총 {len(columns)}개 컬럼") + print("=" * 80) + + except Exception as e: + print(f"오류 발생: {e}") + finally: + db_manager.close_all() + +if __name__ == '__main__': + check_sale_table_columns('SALE_MAIN') + print("\n\n") + check_sale_table_columns('SALE_SUB')