我们使用SQLAlchemy和postgres托管一个多租户应用程序。我正在考虑从为每个租户拥有单独的数据库转移到使用具有多个模式的单个数据库。SQLAlchemy本身支持这种方式吗?我基本上只希望每个查询都以预定模式作为前缀...例如,
select * from client1.users
代替仅仅select * from users
请注意,我希望在特定请求/一组请求中切换所有表的模式,而不仅仅是这里和那里的单个表。
我想,这也可以通过自定义查询类来实现,但我无法想象还没有以这种方式完成的事情。
search_path
进行模式控制,则修订生成脚本会完全混乱。根据https://github.com/sqlalchemy/alembic/issues/569的建议,最好不要触及`search_path`,而是在您的模型和迁移中明确定义模式。 - alexykot