class MyTable(tag: Tag) extends Table[MyEntity](tag, "1970Table") {
def id = column[Int]("id")
override def * =
(
id
) <> (MyEntity.tupled, MyEntity.unapply)
}
val myTable = TableQuery[MyTable]
class MyRepository(val config: DatabaseConfig[JdbcProfile])
extends MyRepository[MyTable, String] {
override val table: config.profile.api.TableQuery[MyTable] = myTable
def insert(me: MyEntity): Future[Int] = {
db.run(table += me)
}
}
Я использую это в других своих классах, как это:
val myRepository = new MyRepository(dbConfig)
myRepository.insert(myrecord)
Вопрос
Я хотел бы не иметь жестко закодированное имя таблицы, а сделатьимя таблицы динамическое.
Я бы хотел изменить метод insert
таким образом, чтобы он принимал параметр year (int)
и на основе параметра года выбирал правильную таблицу.т. е. если прошедший год равен 1970
, то имя таблицы будет 1970Table
, но если пройденный год равен 1980
, тогда таблица будет 1980Table
.