ピラミッド フレームワークの認証アドオン/プラグインを作成しようとしています。プラグインには、ユーザーのログインやその他のデータを保存するデータベースが必要です。そのため、ユーザーが私のアドオンを使用する場合、データベースにはアドオンの特定のテーブル/モデルが含まれている必要があります。たとえば、このユーザーテーブル
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())
このモデルをユーザーのメインアプリに含める必要があります。以下に示すインクルードに何かを含める必要があると思います
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')
しかし、私は何をすべきかわからない。ベースと DBSession をアドオンからメイン アプリケーションのベースにマージして、ユーザーが../bin/initialize_myapp_db
myaddon とメイン アプリからテーブルを実行するとすべて作成されるようにする方法はありますか?