Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Slick 3.1 - Printing SQL from DBIOAction (insert statements)

Tags:

sql

scala

slick

In Slick 3.1, with the complete redesign of the new API, it seems to be impossible to view the generated SQL statements when doing an insert.

If you have something like this

val action = DBIO.seq(
  SomeTables ++= Seq(TableData(1,"First"),TableData(2,"Second"))
)

It doesn't seem you are actually able to see the generated SQL from the action. The result method doesn't actually exist, and variations of statements just print ? in place of the actual values if you don't use DBIO.seq, if you are using DBIO.seq the statements method doesn't actually exist.

Even when using methods such as .transactionally or .withPinnedSession, it doesn't seem to make a difference (however I don't know how this should help).

From observation of all of the methods, it appears that this is impossible?

like image 677
mdedetrich Avatar asked Oct 14 '15 12:10

mdedetrich


1 Answers

This is not handle by Slick 3.1 you can see the source code, but you can get this feature available into Slick 3.2 version.

If you a have a larger code base & can't upgrade to 3.2 in that case you can just add this commit to 3.1 source code, build & use it. Make sure you import the necessary things required for the commit.

like image 86
Somnath Sarode Avatar answered Sep 30 '22 01:09

Somnath Sarode