A resposta curta é que é mais fácil ter instâncias separadas de todos eles para ambos os bancos de dados. É possível criar um único roteamento sessão , mas tem suas ressalvas.
O
criador de sessões e Sessão também suporta passando vários liga como argumento
e confirmações de duas fases
, que também pode permitir o uso de uma única sessão com vários bancos de dados. Por sorte, os 2 bancos de dados que suportam commits de 2 fases são PostgreSQL e MySQL. Sobre a relação entre
Base e metadados :Base
é uma classe base que tem uma metaclasse usada para criar declarativamente Tabela objetos a partir de informações fornecidas na própria classe e suas subclasses. Todas as Tabela objetos declarados implicitamente por subclasses de Base compartilhará o mesmo MetaData . Você pode fornecer metadados como argumento ao criar uma nova base declarativa e, assim, compartilhá-la entre várias
Base s, mas no seu caso não é útil. MetaData
é uma coleção de Tabela objetos e suas construções de esquema associadas. Ele também pode manter uma ligação a um Engine ou Sessão . Resumindo, você pode ter
Tabela se MetaDados sem uma Base , mas uma Base requer MetaData funcionar.