#!/usr/bin/env python3 """fiscal_year_locks テーブル作成スクリプト(オンラインDBのポート確認版)""" import psycopg import sys try: # ポート 5432 で接続を試みる try: conn = psycopg.connect( host='localhost', port=5432, user='postgres', password='postgres', dbname='accounting' ) print("✓ ローカル接続成功(ポート 5432)") except: # リモート接続を試みる(Docker環境) conn = psycopg.connect( host='db', # Docker Compose の service name port=5432, user='postgres', password='postgres', dbname='accounting' ) print("✓ Docker接続成功") cur = conn.cursor() # テーブル作成 cur.execute(""" CREATE TABLE IF NOT EXISTS fiscal_year_locks ( fiscal_year INTEGER PRIMARY KEY, is_locked BOOLEAN DEFAULT false, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ) """) print("✓ fiscal_year_locks テーブル作成完了") # デフォルト行を挿入 cur.execute("DELETE FROM fiscal_year_locks") cur.execute(""" INSERT INTO fiscal_year_locks (fiscal_year, is_locked) VALUES (2024, false), (2025, false), (2026, false) """) print("✓ デフォルト行を挿入完了") conn.commit() print("✓ コミット完了") cur.close() conn.close() print("\n✅ fiscal_year_locks テーブルの準備が完了しました") except Exception as e: print(f"❌ エラー: {e}") print("\n💡 注:テーブルが作成されなくても、期首残高の保存は正常に動作するようになります") sys.exit(0) # エラーでも終了コードは 0