Cassaforte 的完全限定名称

Fully qualified names with Cassaforte

有没有办法在使用 Cassaforte 的 CQL DSL 时创建完全限定的 table 名称?

我目前有这个代码:

(defn get-data-by-user-id [client-name client-id user-id]
    (cql/use-keyspace (get-session) client-name)
    (cql/select (get-session) "some_data"
                (where [[= :client_id client-id] [= :user_id user-id]])
                (limit 1)))

我很好奇是否可以做类似于 Korma 的事情,例如:

(defn get-data-by-user-id [client-name client-id user-id]
    (cql/select (get-session) "some_data"
                (where [[= :client_id client-id] [= :user_id user-id]])
                (limit 1)
                (keyspace client-name)))

cassaforte uses/aliases hayt internaly 因为它是 DSL(我编写了这个库),所以是的,可能会看到:

https://github.com/mpenet/hayt/blob/master/test/qbits/hayt/core_test.clj#L26-L27

或者如果不需要 escaping/quoting 则只使用关键字:

:foo.bar 等等

用作 cql 标识符的 clojure 关键字从不转义。