我使用应用程序工厂模式并
db.init_app在其中调用。之后
db = SQLAlchemy()我导入,将继承所有车型
db.Model,从而
db.metadata知道他们的; 请注意,这不是在
create_app工厂完成的,而是在模块初始化期间内联的。
运行时
alembic,项目文件夹不包括在内,
sys.path因此我进行了设置。然后,我从工厂创建一个应用,并
sqlalchemy.url根据其配置进行设置。另外,我导入
db并设置
target_metadata = db.metadata。
无论项目结构如何,此设置始终对我有效。我在带有蓝图的子包中包含了一组非常基本的用户模型和一个非常愚蠢的视图。只需确保将
relavent模型加载到中
load_models,在定义了蓝图之后导入视图,并在中导入蓝图
init_views。



