Files
njts-accounting-core/backend/update_opening_balances.py
2026-01-17 11:08:57 +09:00

46 lines
1.6 KiB
Python

import os
os.environ['DB_HOST'] = '192.168.0.61'
os.environ['DB_PORT'] = '55432'
os.environ['DB_NAME'] = 'njts_acct'
os.environ['DB_USER'] = 'njts_app'
os.environ['DB_PASSWORD'] = 'njts_app2025'
from app.core.database import get_connection
# SQLファイルを読み込んで実行
with open('sql/insert_opening_balances_2025.sql', 'r', encoding='utf-8') as f:
sql_content = f.read()
# セミコロンで分割して実行
statements = [s.strip() for s in sql_content.split(';') if s.strip() and not s.strip().startswith('--')]
with get_connection() as conn:
with conn.cursor() as cur:
for statement in statements:
if statement.strip():
try:
cur.execute(statement)
print(f"✓ 実行成功")
except Exception as e:
print(f"✗ エラー: {e}")
conn.commit()
print("\n前期残高データを更新しました。")
# 確認
cur.execute("""
SELECT
a.account_code,
a.account_name,
ob.opening_debit,
ob.opening_credit
FROM opening_balances ob
JOIN accounts a ON ob.account_id = a.account_id
WHERE ob.fiscal_year = 2025
ORDER BY a.account_code
""")
print("\n【2025年度 前期残高一覧】")
for row in cur.fetchall():
print(f"{row['account_code']} {row['account_name']:20s} 借方:{row['opening_debit']:>12,} 貸方:{row['opening_credit']:>12,}")