次のコードでは、/testDbOne を押してもエラーは発生しませんが、/testDbTWo を押しても次のエラーが発生します。
TypeError('testDbTwo() takes exactly 1 argument (0 given)',)
engine1 と engine2 の位置を交換すると、testDbOne が壊れて testDbTwo が機能します。SQLAlchemy で両方のセッションを作成し、それらをプラグインとしてボトルにインストールできないというのは、何が間違っていますか?
Base = declarative_base()
#engine1
engine_s = create_engine('mysql://user:pass@localhost/dbone', echo=True)
create_session_s = sessionmaker(bind=engine_s)
bottle.install(SQLAlchemyPlugin(engine_s, Base.metadata, keyword="dbone"))
#engine2
engine = create_engine('mysql://user:pass@localhost/dbtwo', echo=True)
create_session = sessionmaker(bind=engine)
bottle.install(SQLAlchemyPlugin(engine, Base.metadata, keyword="dbtwo"))
#create the actual database sessions
dboneSession = create_session_s()
dbTwoSession = create_session()
@route("/testDbOne")
def testUserOne(dbone):
return "no error here"
@route("/testDbTwo")
def testDbTwo(dbtwo):
return "no error here"