""" 建立 system_functions_cache 表 """ import psycopg2 conn = psycopg2.connect( host="10.1.0.20", port=5433, database="hr_portal", user="admin", password="DC1qaz2wsx" ) conn.autocommit = False cur = conn.cursor() try: print("Creating system_functions_cache table...") cur.execute(""" CREATE TABLE IF NOT EXISTS system_functions_cache ( id INTEGER PRIMARY KEY, service_code VARCHAR(50) NOT NULL, function_code VARCHAR(100) NOT NULL UNIQUE, function_name VARCHAR(200) NOT NULL, function_category VARCHAR(50), is_active BOOLEAN NOT NULL DEFAULT TRUE, synced_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, CONSTRAINT uq_function_code UNIQUE (function_code) ); """) # 建立索引 cur.execute(""" CREATE INDEX IF NOT EXISTS idx_func_cache_service ON system_functions_cache(service_code); """) cur.execute(""" CREATE INDEX IF NOT EXISTS idx_func_cache_category ON system_functions_cache(function_category); """) conn.commit() print("SUCCESS: system_functions_cache table created") # 驗證 cur.execute(""" SELECT table_name FROM information_schema.tables WHERE table_name = 'system_functions_cache'; """) result = cur.fetchone() if result: print(f"Verified: {result[0]} table exists") else: print("ERROR: Table not found after creation") except Exception as e: conn.rollback() print(f"ERROR: {e}") import traceback traceback.print_exc() finally: cur.close() conn.close()