import os
import psycopg2
from dotenv import load_dotenv

load_dotenv()

conn = psycopg2.connect(
    host=os.getenv('DB_HOST'),
    port=os.getenv('DB_PORT'),
    dbname=os.getenv('DB_NAME'),
    user=os.getenv('DB_USER'),
    password=os.getenv('DB_PASSWORD')
)

cur = conn.cursor()

# 年度フィールドを追加
try:
    cur.execute("ALTER TABLE income_tax_table ADD COLUMN tax_year INTEGER")
    print("✓ tax_year カラムを追加")
except Exception as e:
    print(f"カラム追加スキップ（既に存在する可能性）: {e}")
    conn.rollback()

# 既存データに年度を設定
try:
    cur.execute("UPDATE income_tax_table SET tax_year = EXTRACT(YEAR FROM valid_from) WHERE tax_year IS NULL")
    print("✓ 既存データに年度を設定")
except Exception as e:
    print(f"エラー: {e}")

# インデックスを追加
try:
    cur.execute("CREATE INDEX IF NOT EXISTS idx_income_tax_year ON income_tax_table(tax_year)")
    print("✓ インデックスを追加")
except Exception as e:
    print(f"インデックス追加エラー: {e}")

conn.commit()
cur.close()
conn.close()

print("\n完了！")
