在使用Flask-Migrate进行数据库迁移时报了这个错误,折腾两天都没解决,期间找了各种资料,最后成功解决。
在这里稍微总结下,一般来说这个错误是由Flask-Sqlalchemy的数据库连接字符串 SQLALCHEMY_DATABASE_URI 的值为None引起的,常见的有两种情况:
1. 在配置中写错字符串,把 SQLALCHEMY_DATABASE_URI 写成 SQLALCHEMY_DATABASE_URL, 从而产生错误
2. 我就属于这种情况,个人使用的IDE是Pycharm,只在Run/DeBug Configuration中设置了环境变量,进行数据库迁移时使用的是
Terminal, Terminal的环境并没有进行过设置,所以取不到值。
所以,为了避免这种繁琐的情形,最好还是将环境变量直接用export命令写入,免得设置多次。