# -*- coding: utf-8 -*- import sys sys.path.insert(0, 'c:\\Users\\청춘약국\\source\\pharmacy-pos-qr-system\\backend') from db.dbsetup import get_db_session from sqlalchemy import text # PM_DRUG, PM_PRES, PM_BASE 모든 DB 확인 databases = ['PM_DRUG', 'PM_PRES', 'PM_BASE'] for db_name in databases: print(f'\n{"="*50}') print(f'=== {db_name} 데이터베이스 ===') print(f'{"="*50}') try: session = get_db_session(db_name) # 1. BaseCode 컬럼이 있는 테이블 찾기 result = session.execute(text(""" SELECT TABLE_NAME, COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME LIKE '%BaseCode%' OR COLUMN_NAME LIKE '%BASECODE%' OR COLUMN_NAME LIKE '%basecode%' ORDER BY TABLE_NAME """)) tables = list(result) if tables: print(f'\nBaseCode 관련 컬럼 발견:') for row in tables: print(f' - {row.TABLE_NAME}.{row.COLUMN_NAME}') else: print(f'\nBaseCode 관련 컬럼 없음') # 2. 표준코드 관련 컬럼 찾기 (Stand, Standard 등) result2 = session.execute(text(""" SELECT TABLE_NAME, COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME LIKE '%Stand%' OR COLUMN_NAME LIKE '%Standard%' OR COLUMN_NAME LIKE '%KD%' ORDER BY TABLE_NAME """)) tables2 = list(result2) if tables2: print(f'\n표준코드 관련 컬럼:') for row in tables2: print(f' - {row.TABLE_NAME}.{row.COLUMN_NAME}') session.close() except Exception as e: print(f'Error: {e}') # 3. CD_GOODS의 BaseCode가 실제로 어떤 값인지 상위 10개 확인 print(f'\n{"="*50}') print('=== CD_GOODS.BaseCode 샘플 데이터 ===') print(f'{"="*50}') session = get_db_session('PM_DRUG') result = session.execute(text(""" SELECT TOP 10 DrugCode, GoodsName, BaseCode FROM CD_GOODS ORDER BY DrugCode """)) for row in result: bc = row.BaseCode if row.BaseCode else '(NULL/빈값)' print(f'{row.DrugCode}: BaseCode=[{bc}]') session.close()