You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行aerich init-db为何抛出tortoise.exceptions.ConfigurationError:数据库配置未初始化?

解决aerich init-db报错"DB configuration not initialised"问题

针对你遇到的aerich init-db触发Tortoise.init未初始化的错误,以下是针对性的排查和修复步骤:

1. 修正模型路径配置

你的模型文件位于项目根目录的models.py,但当前TORTOISE_ORM配置里的模型路径写的是"app.models"——如果项目根目录没有app子文件夹,这个路径会导致Tortoise找不到模型文件,进而触发配置初始化失败。

修改settings.py中的TORTOISE_ORM配置:

TORTOISE_ORM = {
    "connections": {"default": db_url},
    "apps": {
        "models": {
            "models": ["models", "aerich.models"],  # 将"app.models"替换为"models"
            "default_connection": "default",
        },
    },
}

2. 验证db_url的有效性

确保settings.py中的db_url是格式正确的PostgreSQL连接字符串,示例:

# 替换为你的实际数据库信息
db_url = "postgresql://username:password@localhost:5432/your_database_name"

同时确认:

  • PostgreSQL服务已启动
  • 目标数据库已创建(或当前数据库用户拥有创建数据库的权限)
  • 连接参数(主机、端口、用户名、密码)均正确

3. 重置aerich配置并重新执行

  1. 删除项目根目录下已生成的migrations文件夹
  2. 重新初始化aerich:
aerich init -t settings.TORTOISE_ORM
  1. 执行数据库初始化:
aerich init-db

额外检查点

  • 确保运行aerich命令时,终端工作目录处于项目根目录(即settings.py和models.py所在的目录)
  • 检查Python环境是否正确,确认已安装必要依赖:
pip install tortoise-orm aerich asyncpg

内容的提问来源于stack exchange,提问作者Mod diller

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 19:04:50