Question

Now I'm using Slick with Spray. I have to say Slick works much nicer alone, non-disturbingly with Spray than with Play (which is really troublesome).

However, I still can't solve a huge problem: database construction.

If there a way for me to maybe pass a list of TableQuery to a function, and it will match variables I passed in with tables in the database, and only create ones that are not created?

That would be really neat.

Assume I have two tables:

  val articles = TableQuery[ArticleTable]
  val users = TableQuery[UserTable]

I'm creating a function that may look like this:

   def createDatabase(list: List[TableQuery[*]]) {
      //.... (something like: (Article.articles.ddl ++ User.users.ddl).create)
   }
Was it helpful?

Solution

Something like someTableQuery.baseTableRow.tableName should give you the table name. MTable.apply allows you to query for tables. Github search the slick code for examples of MTable.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top