Files
TODO_list_system/backend/init_db.py
beabigegg b0c86302ff 1ST
2025-08-29 16:25:46 +08:00

65 lines
1.6 KiB
Python

#!/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)