【发布时间】:2016-11-23 08:02:49
【问题描述】:
在 Cassandra 中插入/更新时,或者说应用程序中的表定义与 C* 服务器中的表定义不匹配时,phantom 如何处理这些类型的错误?
我看到一个已应用的结果集等,但没有关于异常或错误的信息。
【问题讨论】:
标签: cassandra phantom-dsl
在 Cassandra 中插入/更新时,或者说应用程序中的表定义与 C* 服务器中的表定义不匹配时,phantom 如何处理这些类型的错误?
我看到一个已应用的结果集等,但没有关于异常或错误的信息。
【问题讨论】:
标签: cassandra phantom-dsl
如果错误是灾难性的并且操作无法执行,您将返回失败的未来。一个这样的例子是 scala.concurrent.Future 包装 InvalidQueryException 例如。
现在,失败的含义多种多样。如果您插入在 Cassandra 中有效的部分数据,列会自动设置为 null,即使在业务方面这在您的应用程序中没有意义。
如果您通过Database.create 方法使用模式自动生成,则表定义应始终与数据库中的表定义匹配,因此 phantom 已经为您提供了一种自动执行此操作的机制。
【讨论】: