Environment
- com.datomic/dev-local {:mvn/version "1.0.243"}
- com.datomic/client-cloud {:mvn/version "1.0.122"}
History
First setup a new DB in a cloud system.
(def db-name "kwill-test3")
(d/create-database client {:db-name db-name})
(def conn (d/connect client {:db-name db-name}))
(d/transact conn {:tx-data [{:db/ident :uri/full-uri
:db/valueType :db.type/uri
:db/cardinality :db.cardinality/one}]})
(d/transact conn {:tx-data [{:uri/full-uri (java.net.URI. "https://h.readthedocs.io/en/latest/api-reference/")}]})
Attempt to run dl/import-cloud
.
(dl/import-cloud
{:source (assoc client-argm :db-name db-name)
:dest {:system "uri-test"
:server-type :dev-local
:db-name db-name}})
Execution error (IllegalArgumentException) at org.fressian.handlers.WriteHandlerLookup/requireWriteHandler (WriteHandlerLookup.java:48).
Cannot write https://h.readthedocs.io/en/latest/api-reference/ as tag null
Expectation
Running import-cloud for any and all of the supported Datomic value types will import data to the dev-local system.
Actual
Running import-cloud on a cloud database that contains a URI fails with an IllegalArgumentException
.
Evidence
The example written in "History" is always reproducible.
Impact
System that have a value for a attribute with the type :db.type/uri
cannot be imported with import-cloud.