kdrug-inventory-system/config.py
시골약사 c0d55f8e16 feat: 의약품 마스터 DB 연동 (ATTACH DATABASE)
- medicine_master.db (305,522행) CSV→SQLite 변환 완료
- get_db()에서 ATTACH DATABASE로 자동 연결
- GET /api/medicine-master/search: 상품명/업체명/표준코드 검색
- GET /api/medicine-master/categories: 전문일반구분별 통계
- config.py에 MEDICINE_MASTER_PATH 추가
- 취소된 제품 자동 필터링, 카테고리 필터 지원

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-19 15:19:14 +00:00

43 lines
1.4 KiB
Python

#!/usr/bin/env python3
"""
kdrug 프로젝트 공통 설정 파일
모든 Python 스크립트에서 이 설정을 import하여 사용
"""
import os
from pathlib import Path
# 프로젝트 루트 디렉토리
PROJECT_ROOT = Path(__file__).parent
# 데이터베이스 경로 - 항상 절대 경로 사용
DATABASE_PATH = PROJECT_ROOT / 'database' / 'kdrug.db'
MEDICINE_MASTER_PATH = PROJECT_ROOT / 'database' / 'medicine_master.db'
# 기타 자주 사용하는 경로들
STATIC_PATH = PROJECT_ROOT / 'static'
TEMPLATES_PATH = PROJECT_ROOT / 'templates'
DOCS_PATH = PROJECT_ROOT / 'docs'
BACKUP_PATH = PROJECT_ROOT / 'backups'
# 데이터베이스 연결 헬퍼 함수
def get_db_connection():
"""표준 데이터베이스 연결 반환"""
import sqlite3
conn = sqlite3.connect(str(DATABASE_PATH))
conn.row_factory = sqlite3.Row # 컬럼명으로 접근 가능하도록 설정
return conn
# 설정 확인용 (디버그)
if __name__ == "__main__":
print(f"프로젝트 루트: {PROJECT_ROOT}")
print(f"데이터베이스 경로: {DATABASE_PATH}")
print(f"데이터베이스 존재: {DATABASE_PATH.exists()}")
if DATABASE_PATH.exists():
conn = get_db_connection()
cursor = conn.cursor()
cursor.execute("SELECT COUNT(*) FROM sqlite_master WHERE type='table'")
table_count = cursor.fetchone()[0]
print(f"테이블 개수: {table_count}")
conn.close()