méthode scala slick je ne peux pas comprendre jusqu'à présent

J'essaie de comprendre certaines œuvres de Slick et ce qu'elles nécessitent. Voici un exemple: package models case class Bar(id: Option[Int] = None, name: String) object Bars extends Table[Bar]("bar") { def id = column[Int]("id", O.PrimaryKey, O.AutoInc) // This is the primary key column def name...