# RuntimeError: 当前 Flask 应用未注册到此 'SQLAlchemy' 实例。是否忘记调用 'init_app'？

- **ID:** `python/flask-db-not-initialized`
- **领域:** python
- **类别:** runtime_error
- **验证级别:** ai_generated
- **修复率:** 80%

## 根因

在应用上下文之外使用 db.session，或 SQLAlchemy 扩展从未通过 db.init_app(app) 绑定到应用。

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| 3.x | active | — | — |

## 解决方案

1. **** (93% 成功率)
   ```
   In factory: db.init_app(app); with app.app_context(): db.create_all()
   ```
2. **** (90% 成功率)
   ```
   Wrap script code: with app.app_context(): db.session.add(obj); db.session.commit()
   ```

## 无效尝试

- **** — No app context; raises the same error. (85% 失败率)
- **** — Still requires init_app with the app instance. (70% 失败率)
