postgresql - Scala Slick delete not working -


when deleting tablequery object should able write:

facebookauths.delete 

but it's complaining delete isn't method in tablequery, if try:

users.filter(_.id === 1337).delete 

it's still saying delete isn't method, on query object.

what doing wrong? imports are:

import scala.slick.lifted._ import scala.slick.driver.jdbcdriver.simple._ 

and other things firstoption works.

i use postgres.

thanks!

you using postgres, need import scala.slick.driver.postgresdriver.simple._ , scala.slick.driver.postgresdriver instead of jdbc ones, same thing applies schema defined.

edit:

this bit outside knowledge , i'm not 100% sure give try.

the postgresdriver trait extends jdbcdriver trait (from jdbcprofile.scala), trait signature:

trait postgresdriver extends jdbcdrive 

and in turn jdbcdriver extends sqldriver:

trait jdbcdriver extends sqldriver 

the firstoption method belongs unitinvoker trait, it's not dependent imported drivers, same thing applies list , first , other methods, can check them in invoker.scala file. delete method instead defined in deleteinvoker class inside jdbcinvokercomponent trait.

my understanding when declaring tablequery object full signature:

val table: postgresdriver.simple.tablequery[mytable] = tablequery[mytable] 

while declaring table signature:

val table: jdbcdriver.simple.tablequery[mytable] = tablequery[mytable] 

i don't know why delete method not available jdbc directly, have use query , use query.deleteinvoker, said i'm not sure, looks confusing me too.


Comments

Popular posts from this blog

commonjs - How to write a typescript definition file for a node module that exports a function? -

openid - Okta: Failed to get authorization code through API call -

thorough guide for profiling racket code -