如何使用 quill 动态查询批量插入?
How to batch insert with quill dynamic queries?
我正在尝试使用 Quill 动态查询来执行批量插入
在非动态中 api 我会使用:
db.run(quote {
liftQuery(myCollection).foreach(data => querySchema[MyDBClass]("table").insert(data))
})
我试过对动态查询做同样的事情:
db.run({
liftQuery(myCollection).foreach(data => dynamicQuerySchema[MyDBClass](tableNameVar).insertValue(data))
})
但是我收到以下错误:
No implicits found for parameter unquote: DynamicInsert[MyDBClass] => A_
我使用 API 正确吗?任何帮助将不胜感激
解决方法是:
val dynamicSchema = context.dynamicQuerySchema[MyDBClass](tableNameVar)
context.transaction {
myCollection.foreach { p =>
context.run(dynamicSchema.insertValue(p))
}
}
对于没有事务的 cassandra 使用
我正在尝试使用 Quill 动态查询来执行批量插入
在非动态中 api 我会使用:
db.run(quote {
liftQuery(myCollection).foreach(data => querySchema[MyDBClass]("table").insert(data))
})
我试过对动态查询做同样的事情:
db.run({
liftQuery(myCollection).foreach(data => dynamicQuerySchema[MyDBClass](tableNameVar).insertValue(data))
})
但是我收到以下错误:
No implicits found for parameter unquote: DynamicInsert[MyDBClass] => A_
我使用 API 正确吗?任何帮助将不胜感激
解决方法是:
val dynamicSchema = context.dynamicQuerySchema[MyDBClass](tableNameVar)
context.transaction {
myCollection.foreach { p =>
context.run(dynamicSchema.insertValue(p))
}
}
对于没有事务的 cassandra 使用