Я довольно привык к написанию стандартного кода плитки с косой пластинкой, как это.Создание единой таблицы столбцов с помощью Slick
Предположим, что я создаю таблицу под названием Foo с идентификаторами и именами столбцов. Мы можем написать
case class Foo(id: Long, name: String)
final class FooTable(tag: Tag) extends Table[Foo](tag, "foo") {
def id = column[Long]("id")
def name = column[String]("name")
def * = (id, name) <> (Foo.tupled, Foo.unapply)
}
А что, если мне нужна таблица с одним столбцом, где Foo просто имеет имя. Код ниже не компилируется, потому что теперь у Foo больше нет корневого метода.
case class Foo(name: String)
final class FooTable(tag: Tag) extends Table[Foo](tag, "foo") {
def name = column[String]("name")
def * = (name) <> (Foo.tupled, Foo.unapply)
}
Я нашел эту тему на SO
Scala projections in Slick for only one column
и изменил код для
case class Foo(name: String)
final class FooTable(tag: Tag) extends Table[Foo](tag, "foo") {
def name = column[String]("email_address")
def * = (name)
}
, но до сих пор не компилирует