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 已经为您提供了一种机制那是自动的。
当inserting/updating进入Cassandra时,或者当应用程序中的table定义与C*服务器中的table定义不匹配时,phantom如何处理这些类型的错误?
我看到一个结果集有 wasApplied 等,但没有关于异常或错误的信息。
如果错误是灾难性的并且操作无法执行,您将得到一个失败的未来。例如,一个这样的例子是 scala.concurrent.Future
包装 InvalidQueryException
。
现在,失败的含义千差万别。如果您插入在 Cassandra 中有效的部分数据,列会自动设置为 null
,即使从商业角度来看这在您的应用程序中没有意义。
如果您通过 Database.create
方法使用模式自动生成,table 定义应始终与数据库中的 table 定义相匹配,因此 phantom 已经为您提供了一种机制那是自动的。