问题原因可能是在数据库模型中定义了多个类(每个类生成一个script.py.mako文件),建议先验证一下数据库模型中是否存在多个类。
解决方法是在生成脚本的时候,指定对应的模型类所在的模块,例如:
alembic revision --autogenerate -x target_metadata=app.models:BaseModel.metadata
其中,"app.models"是自己定义的类所在的模块,"BaseModel.metadata"是自己定义的模型类所对应的metadata属性。
这样就能避免生成多个script.py.mako文件的问题了。