我想創建一個金字塔框架認證插件/插件。插件需要有一個存儲用戶登錄和其他數據的數據庫,所以如果用戶使用我的插件,他的數據庫必須包含來自插件的某些表/模型。例如,該用戶表金字塔框架包括從插件到主應用程序models.py
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合併到主應用程序的基礎中,以便如果用戶運行../bin/initialize_myapp_db
,則myaddon和主應用程序中的表格都會創建?