- 쌍화탕: 당귀 → 일당귀로 수정 - 월비탕: 진피초 → 진피(陳皮)로 수정 - 십전대보탕: 각 약재별 효능 설명 추가 - 보음보혈, 보혈지통, 대보원기 등 11개 약재 효능 추가 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
85 lines
2.7 KiB
Python
85 lines
2.7 KiB
Python
#!/usr/bin/env python3
|
|
"""
|
|
월비탕 처방의 진피초를 진피(陳皮)로 수정
|
|
"""
|
|
|
|
import sqlite3
|
|
|
|
def update_jinpi():
|
|
"""진피초를 진피로 수정"""
|
|
|
|
conn = sqlite3.connect('database/kdrug.db')
|
|
cursor = conn.cursor()
|
|
|
|
try:
|
|
# 현재 진피초로 등록된 월비탕 처방 확인
|
|
print("🔍 현재 월비탕 처방에 등록된 진피 확인...")
|
|
cursor.execute("""
|
|
SELECT f.formula_name, fi.ingredient_code, hm.herb_name
|
|
FROM formulas f
|
|
JOIN formula_ingredients fi ON f.formula_id = fi.formula_id
|
|
JOIN herb_masters hm ON fi.ingredient_code = hm.ingredient_code
|
|
WHERE f.formula_code LIKE 'WBT%'
|
|
AND hm.herb_name LIKE '%진피%'
|
|
ORDER BY f.formula_code
|
|
""")
|
|
|
|
current = cursor.fetchall()
|
|
print(f"현재 상태:")
|
|
for name, code, herb in current:
|
|
print(f" - {name}: {herb} ({code})")
|
|
|
|
# 진피초(3632H1AHM)를 진피(陳皮)(3466H1AHM)로 변경
|
|
print(f"\n✏️ 진피초(3632H1AHM) → 진피(陳皮)(3466H1AHM)로 변경 중...")
|
|
|
|
cursor.execute("""
|
|
UPDATE formula_ingredients
|
|
SET ingredient_code = '3466H1AHM'
|
|
WHERE ingredient_code = '3632H1AHM'
|
|
AND formula_id IN (
|
|
SELECT formula_id
|
|
FROM formulas
|
|
WHERE formula_code LIKE 'WBT%'
|
|
)
|
|
""")
|
|
|
|
updated_count = cursor.rowcount
|
|
print(f"✅ {updated_count}개 항목 수정됨")
|
|
|
|
# 변경 후 확인
|
|
print(f"\n🔍 수정 후 확인...")
|
|
cursor.execute("""
|
|
SELECT f.formula_name, fi.ingredient_code, hm.herb_name
|
|
FROM formulas f
|
|
JOIN formula_ingredients fi ON f.formula_id = fi.formula_id
|
|
JOIN herb_masters hm ON fi.ingredient_code = hm.ingredient_code
|
|
WHERE f.formula_code LIKE 'WBT%'
|
|
AND hm.herb_name LIKE '%진피%'
|
|
ORDER BY f.formula_code
|
|
""")
|
|
|
|
updated = cursor.fetchall()
|
|
print(f"수정된 상태:")
|
|
for name, code, herb in updated:
|
|
print(f" - {name}: {herb} ({code})")
|
|
|
|
conn.commit()
|
|
print(f"\n✅ 진피 수정 완료!")
|
|
|
|
except sqlite3.Error as e:
|
|
print(f"❌ 데이터베이스 오류: {e}")
|
|
conn.rollback()
|
|
return False
|
|
finally:
|
|
conn.close()
|
|
|
|
return True
|
|
|
|
if __name__ == "__main__":
|
|
print("🌿 월비탕 진피 수정 프로그램")
|
|
print("="*60)
|
|
|
|
if update_jinpi():
|
|
print("\n✅ 수정 작업이 완료되었습니다.")
|
|
else:
|
|
print("\n❌ 수정 중 오류가 발생했습니다.") |