32 lines
854 B
Python
32 lines
854 B
Python
#!/usr/bin/env python3
|
|
"""初始化数据库"""
|
|
import os
|
|
import sys
|
|
|
|
# 添加路径
|
|
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
|
|
|
|
from app.db import Base, engine, DATABASE_URL
|
|
from app.models import Voice
|
|
|
|
|
|
def init_db():
|
|
"""创建所有表"""
|
|
# 确保 data 目录存在
|
|
data_dir = os.path.dirname(DATABASE_URL.replace("sqlite:///", ""))
|
|
os.makedirs(data_dir, exist_ok=True)
|
|
|
|
print("📦 创建数据库表...")
|
|
Base.metadata.drop_all(bind=engine) # 删除旧表
|
|
Base.metadata.create_all(bind=engine)
|
|
print("✅ 数据库表创建完成")
|
|
|
|
|
|
if __name__ == "__main__":
|
|
# 确保 data 目录存在
|
|
data_dir = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "data")
|
|
os.makedirs(data_dir, exist_ok=True)
|
|
|
|
init_db()
|
|
print("🎉 数据库初始化完成!")
|