У меня есть модель SQLAlchemy ORM, которая в настоящее время выглядит примерно так:
Base = declarative_base()
class Database(Base):
__tablename__ = "databases"
__table_args__ = (
saschema.PrimaryKeyConstraint('db', 'role'),
{
'schema' : 'defines',
},
)
db = Column(String, nullable=False)
role = Column(String, nullable=False)
server = Column(String)
Вот в чем дело, на практике эта модель существует в нескольких базах данных, и в этих базах данных она будет существовать в нескольких схемах.,Для любой одной операции я буду использовать только один (database, schema)
кортеж.
Прямо сейчас я могу установить механизм базы данных, используя это:
Session = scoped_session(sessionmaker())
Session.configure(bind=my_db_engine)
# ... do my operations on the model here.
Но я не уверен, как яможно изменить __table_args__
во время выполнения, чтобы схема была правильной.