Does Slick support dynamic schema change for each request?

I want to use postgresql to support a multi-tenant environment, so each client will have its own schema.

When I make a sql query, can I change the scheme dynamically when using Slick?

If so, how?

+6
source share
1 answer

You can parameterize your TableQuery table classes and factories.

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 
+4
source

All Articles