Я экспериментирую с scalikejdbc (пытаюсь перейти от Slick), и я зациклился на создании моей схемы из сущностей (чтение: классы case).Извлечение DDL из классов case
// example Slick equivalent
case class X(id: Int, ...)
class XTable(tag: Tag) extends Table[X] (tag, "x") {
def id = column[Int]("id")
... //more columns
def * = (id, ...) <> (X.tupled, X.unapply)
}
val xTable = TableQuery[XTable]
db.run(xtable.schema.create) //creates in the DB a table named "x", with "id" and all other columns
Казалось, что с помощью SQLSyntaxSupport может быть шагом в правильном направлении, с чем-то вроде
// scalikejdbc
case class X (id: Int, ...)
object X extends SQLSyntaxSupport[X] {
def apply (x: ResultName[X])(rs: WrappedResultSet): X = new X(id = rs.get(x.id, ...))
}
X.table.??? // what to do now?
, но не мог понять, следующий шаг.
Что я ищу является противоположностью инструмента, описанного в [реверс-инжинирингом]: http://scalikejdbc.org/documentation/reverse-engineering.html
Любая помощь/идеи, в частности, направления к соответствующей части документации, будут оценены