【发布时间】:2017-09-07 05:52:54
【问题描述】:
我正在尝试找到一种方法来在一个光滑的Table 上执行插入,其主键是自动增量但强制主键为映射案例类中的值。 IE。给定:
case class Foo(id: Int, name: String)
class FooTable(tag: Tag) extends Table[Foo](tag, "foo") {
def id = column[Int]("id", O.PrimaryKey, O.AutoInc)
def name = column[String]("name")
def * = (id, name) <> (Foo.tupled, Foo.unapply)
}
val foos = TableQuery[FooTable]
如果我通过以下方式进行常规插入
db.run(foos += Foo(123,"bar"))
它会将id 设置为下一个自动增量 值,而不是将其设置为123。是否有语法强制将id 设置为提供案例类Foo?
【问题讨论】:
-
如果出现 id 冲突,您希望发生什么?
-
@mfirry 此代码用于在测试期间加载初始数据。出于您指定的原因,我没有计划在生产代码中使用此功能