21 lines
781 B
Python
21 lines
781 B
Python
"""初始化数据库:根据 app/models.py 中的模型自动创建全部表。
|
|||
|
|
|
||
|
|
用法(在 backend 目录,已激活 .venv):
|
||
|
|
python init_db.py
|
||
|
|
|
||
|
|
说明:
|
||
|
|
- 会连接 app/config.py 中当前环境(默认 development)配置的数据库。
|
||
|
|
- MySQL 需先手动建库:CREATE DATABASE incid_db ...(见 schema.sql 第一行)。
|
||
|
|
- 若使用 SQLite(见 README/说明),无需提前建库,运行本脚本即可生成表。
|
||
|
|
"""
|
||
|
|
from app import create_app, db
|
||
|
|
import app.models # noqa: F401 确保所有模型注册到 metadata
|
||
|
|
|
||
|
|
app = create_app()
|
||
|
|
with app.app_context():
|
||
|
|
db.create_all()
|
||
|
|
tables = sorted(db.metadata.tables.keys())
|
||
|
|
print("数据库初始化完成,已创建/校验以下表:")
|
||
|
|
for name in tables:
|
||
|
|
print(" -", name)
|