phantom如何处理错误

How to does phantom handle errors

当inserting/updating进入Cassandra时,或者当应用程序中的table定义与C*服务器中的table定义不匹配时,phantom如何处理这些类型的错误?

我看到一个结果集有 wasApplied 等,但没有关于异常或错误的信息。

如果错误是灾难性的并且操作无法执行,您将得到一个失败的未来。例如,一个这样的例子是 scala.concurrent.Future 包装 InvalidQueryException

现在,失败的含义千差万别。如果您插入在 Cassandra 中有效的部分数据,列会自动设置为 null,即使从商业角度来看这在您的应用程序中没有意义。

如果您通过 Database.create 方法使用模式自动生成,table 定义应始终与数据库中的 table 定义相匹配,因此 phantom 已经为您提供了一种机制那是自动的。