tortoise-ORM报错:tortoise.exceptions.ConfigurationError: DB configuration not initialised.

很多学习tortoise-ORM的同学卡在了初始化数据这一步,在执行aerich init-db 时报错:tortoise.exceptions.ConfigurationError: DB configuration not initialised. Make sure to call Tortoise.init with a valid configuration before attempting to create connections.

Inited models already, or delete migrations\models and try again. # 其实终端报错就已经给了你提示了

原因:models模型代码没有写好(错写或漏写)就执行了 aerich init -t settings.TORTOISE_ORM 命令,导致产生了错误的初始化数据。

此时,你在使用aerich init-db时就在缓存文件里面找不到对应的初始化配置数据,就会产生报错,即DB 配置初始化未完成

解决方法:

  1. 检查models是否有漏泄或误写
  2. 删除空的migrations文件夹(全删)
  3. 再次执行aerich init -t settings.TORTOISE_ORM
  4. 执行aerich init-db
  5. 检查数据库表是否生成正确

请看报错源代码:

PS D:\Workspace\Fastapi\BlogSys\blogBlackend> aerich init-db
D:\Workspace\Fastapi\BlogSys\blogBlackend\settings.py:32: RuntimeWarning: coroutine 'Tortoise.init' was never awaited
  Tortoise.init(config=TORTOISE_ORM)
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
D:\Workspace\Fastapi\BlogSys\blogBlackend\settings.py:34: RuntimeWarning: coroutine 'Tortoise.generate_schemas' was never awaited
  Tortoise.generate_schemas()
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
Inited models already, or delete migrations\models and try again.
Traceback (most recent call last):
  File "<frozen runpy>", line 198, in _run_module_as_main
  File "<frozen runpy>", line 88, in _run_code
  File "D:\Workspace\Fastapi\BlogSys\blogBlackend\.venv\Scripts\aerich.exe\__main__.py", line 7, in <module>
  File "D:\Workspace\Fastapi\BlogSys\blogBlackend\.venv\Lib\site-packages\aerich\cli.py", line 265, in main
    cli()
  File "D:\Workspace\Fastapi\BlogSys\blogBlackend\.venv\Lib\site-packages\click\core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Workspace\Fastapi\BlogSys\blogBlackend\.venv\Lib\site-packages\click\core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "D:\Workspace\Fastapi\BlogSys\blogBlackend\.venv\Lib\site-packages\click\core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Workspace\Fastapi\BlogSys\blogBlackend\.venv\Lib\site-packages\click\core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Workspace\Fastapi\BlogSys\blogBlackend\.venv\Lib\site-packages\click\core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Workspace\Fastapi\BlogSys\blogBlackend\.venv\Lib\site-packages\click\decorators.py", line 33, in new_func
    return f(get_current_context(), *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "D:\Workspace\Fastapi\BlogSys\blogBlackend\.venv\Lib\site-packages\aerich\cli.py", line 34, in wrapper
    loop.run_until_complete(Tortoise.close_connections())
  File "D:\Python 3.12.3\Lib\asyncio\base_events.py", line 687, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "D:\Workspace\Fastapi\BlogSys\blogBlackend\.venv\Lib\site-packages\tortoise\__init__.py", line 551, in close_connections  
    await connections.close_all()
  File "D:\Workspace\Fastapi\BlogSys\blogBlackend\.venv\Lib\site-packages\tortoise\connection.py", line 188, in close_all        
    tasks = [conn.close() for conn in self.all()]
                                      ^^^^^^^^^^
  File "D:\Workspace\Fastapi\BlogSys\blogBlackend\.venv\Lib\site-packages\tortoise\connection.py", line 177, in all
    return [self.get(alias) for alias in self.db_config]
                                         ^^^^^^^^^^^^^^
  File "D:\Workspace\Fastapi\BlogSys\blogBlackend\.venv\Lib\site-packages\tortoise\connection.py", line 48, in db_config
    raise ConfigurationError(
tortoise.exceptions.ConfigurationError: DB configuration not initialised. Make sure to call Tortoise.init with a valid configuration before attempting to create connections.

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fenderisfine

蟹蟹你的奶茶😘

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值