Ho un errore di compilazione di Scala Non sono riuscito a trovare alcuna informazione per. Sto usando chiazza di petrolio 3.0 e sto ottenendo un errore di compilazione divalore ~ non è un membro di slick.lifted.Rep [Opzione [Int]]
value ~ is not a member of slick.lifted.Rep[Option[Int]]
Credo che la questione riguarda il modo in cui sto usando un opzione di rappresentare il mio campo ID.
Ho provato ad aggiungere id.?
al campo id come suggerito in this answer ma ottengo ancora un errore di compilazione nello stesso modo. Qualcosa è cambiato in slick 3.0?
Il mio codice è il seguente:
import slick.driver.H2Driver.api._
import scala.concurrent.ExecutionContext.Implicits.global
case class Recipe(id: Option[Int] = None, name: String, instructions: String, ingredients: String)
object AddFixtures {
class Recipes(tag: Tag) extends Table[Recipe](tag, "recipe") {
def id = column[Int]("id", O.PrimaryKey, O.AutoInc)
def name = column[String]("name")
def instructions = column[String]("instructions")
def ingredients = column[String]("ingredients")
def * = id ~ name ~ instructions ~ ingredients <> (Recipe, Recipe.unapply _)
}
val recipes = TableQuery[Recipes]
val setup = DBIO.seq(
recipes.schema.create,
recipes += Recipe(None, "Chicken with Avocado", "Mix it up", "Chicken, Avocado")
)
def apply() = {
val db = Database.forConfig("h2mem1")
try db.run(setup)
finally db.close
}
}
Prova il nuovo codice, ho provato e questo compila, c'è anche un problema con Option, non sono sicuro se hai davvero bisogno di questo – anquegi
Cambiando quella linea e aggiungendo l'opzione [Int] alla colonna id O aggiungendo.? al campo id e non aggiungendo Option funziona. – GoldenFish
Grazie, ho anche aggiunto la terza opzione alla risposta. – anquegi