39 lines
780 B
Python
39 lines
780 B
Python
"""Tortoise ORM 初始化"""
|
|
import logging
|
|
from tortoise import Tortoise
|
|
import config
|
|
|
|
logger = logging.getLogger("spam_guard")
|
|
|
|
MODELS = [
|
|
"db.models",
|
|
]
|
|
|
|
# aerich 配置
|
|
TORTOISE_ORM = {
|
|
"connections": {
|
|
"default": config.DATABASE_URL,
|
|
},
|
|
"apps": {
|
|
"models": {
|
|
"models": MODELS,
|
|
"default_connection": "default",
|
|
},
|
|
},
|
|
}
|
|
|
|
|
|
async def init_db():
|
|
await Tortoise.init(
|
|
db_url=config.DATABASE_URL,
|
|
modules={"models": MODELS},
|
|
)
|
|
# aerich 用 generate_schemas;正式环境用 aerich migrate
|
|
await Tortoise.generate_schemas()
|
|
logger.info("✅ 数据库连接成功")
|
|
|
|
|
|
async def close_db():
|
|
await Tortoise.close_connections()
|
|
logger.info("🛑 数据库连接已关闭")
|