我使用应用程序工厂模式并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
。