【问题标题】:How to batch insert with quill dynamic queries?如何使用 quill 动态查询批量插入?
【发布时间】:2019-08-15 08:29:30
【问题描述】:

我正在尝试使用 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))
})

但我收到以下错误:

未找到参数 unquote 的隐含:DynamicInsert[MyDBClass] => A_

我是否正确使用了 API?任何帮助将不胜感激

【问题讨论】:

    标签: cassandra bulkinsert batch-insert quill.io


    【解决方案1】:

    解决方法是:

    val dynamicSchema = context.dynamicQuerySchema[MyDBClass](tableNameVar)
    
    context.transaction {
          myCollection.foreach { p =>
            context.run(dynamicSchema.insertValue(p))
          }
        }
    

    对于没有事务的cassandra使用

    【讨论】:

    • 谢谢,非常感谢
    • 对于 cassandra 它真的在做批处理吗?好像只是一个一个插入
    • Cassandra 不支持事务。 context.transaction 被忽略。
    • @AndrzejJozwik 你知道如何用 Cassandra 做到这一点吗?还是根本不可能?
    • @Noah 尝试不使用context.transaction
    猜你喜欢
    • 2023-01-14
    • 2015-09-02
    • 2016-08-29
    • 1970-01-01
    • 2010-10-14
    • 1970-01-01
    • 1970-01-01
    • 2015-04-26
    • 2019-07-15
    相关资源
    最近更新 更多