我正在尝试创建一个金字塔框架身份验证插件/插件。插件需要有一个存储用户登录和其他数据的数据库,所以如果用户使用我的插件,他的数据库必须包含插件中的某些表/模型。例如这个用户表
class User(Base):
__tablename__ = 'User'
id = Column(Integer, primary_key=True)
username = Column(Text())
user_firstname = Column(Text())
user_lastname = Column(Text())
user_email = Column(Text())
user_password = Column(Text())
user_registrationdate = Column(DateTime())
user_email_key = Column(Text())
user_email_key_date_created = Column(DateTime())
user_email_approved = Column(Boolean())
user_email_sent = Column(Boolean())
user_active_account = Column(Boolean())
user_banned = Column(Boolean())
user_banned_reason = Column(Text())
我需要将此模型包含在用户主应用程序中,我猜我必须在我的 includeme 中包含一些内容,如下所示
def includeme(config):
config.include('pyramid_mako')
config.add_route('pyramid.admin', '/pyramid/admin')
#static views
config.add_static_view('assets', 'pyramidadmin:static/assets/')
config.scan('pyramidadmin.views')
但我不知道该怎么做。有没有一种方法可以将我的插件中的 Base 和 DBSession 合并到主应用程序中的 base 中,这样如果用户../bin/initialize_myapp_db
从 myaddon 运行表并从主应用程序全部创建?