#!/usr/bin/env python3 """ 資料庫初始化腳本 在現有資料庫中建立 todo 系統所需的表格 """ import sys import os from flask import Flask from config import config from models import db def init_database(): """初始化資料庫表格""" try: # 建立 Flask app app = Flask(__name__) app.config.from_object(config['development']) # 初始化資料庫 db.init_app(app) with app.app_context(): print("正在建立資料庫表格...") # 建立所有表格 db.create_all() print("✅ 資料庫表格建立完成!") print("\n建立的表格:") for table in db.metadata.tables.keys(): print(f" - {table}") return True except Exception as e: print(f"❌ 資料庫初始化失敗: {str(e)}") return False def main(): print("=" * 50) print("PANJIT To-Do System - 資料庫初始化") print("=" * 50) # 檢查環境變數檔案 if not os.path.exists('.env'): print("⚠️ 找不到 .env 檔案") print("請先執行: copy .env.example .env") return False # 初始化資料庫 success = init_database() if success: print("\n🎉 初始化完成!") print("現在可以啟動應用程式了") else: print("\n💥 初始化失敗") print("請檢查資料庫連線設定") return success if __name__ == '__main__': success = main() sys.exit(0 if success else 1)