我想使用postgresql支持 Multi-Tenancy 环境,因此每个客户都将拥有自己的架构。

进行sql查询时,可以在使用Slick时动态更改架构吗?

如果是这样,怎么办?

最佳答案

您可以参数化Table类和TableQuery工厂。

trait Schema{
  def name: String
}
case object Customer1 extends Schema{
  def name = "CUSTOMER_1"
}
case object Customer2 extends Schema{
  def name = "CUSTOMER_2"
}
class MyTable(tag: Tag, schema: Option[String]) extends Table[...](tag, schema){
  ...
}

def myTable(schema: Schema) = new TableQuery( new MyTable(_,Some(schema.name)) )

myTable(Customer1).filter(_.id == 5).run

关于postgresql - Slick是否支持每个查询动态更改架构?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22106986/

10-13 04:45