2012-06-12 16 views
19

Con Datomic, estoy confundido en cuanto a cómo obtener una base de datos local para jugar con¿Cómo obtener una base de datos periódica local persistente?

Si escribo:

>>(ns datomic-tut (:use [datomic.api :as d])) 
nil 

>>(d/create-database "datomic:mem://hello") 
true 

>> (d/connect "datomic:mem://hello") 
#<LocalConnection [email protected]> 

>> Ctrl-D to Disconnect 

Entonces, si recomienzo de la réplica:

>> (ns project-ns (:use [datomic.api :as d])) 
nil 

>> (d/connect "datomic:mem://hello") 
ExceptionInfo :peer/db-not-found Could not find hello in catalog clojure.core/ex-info (core.clj:4227) 

¿Hay otro tipo de uri local que pueda crear que guarde la base de datos que creo?

Respuesta

19

Los getting started guía habla sobre el uso de protocolo de almacenamiento gratuito

Ejecutar la realiza la transacción con el protocolo de almacenamiento gratuito

El protocolo de almacenamiento gratuito utiliza archivos de disco local para su almacenamiento.

usted puede comenzar a quien realiza la transacción local con almacenamiento gratuito de la siguiente manera:

bin/transactor config/samples/free-transactor-template.properties 

Este script imprimirá unas pocas líneas de salida, incluyendo el URI base que va a utilizar para conectar, por ejemplo,

datomic:free://localhost:4334/<DB-NAME> 

Para crear una cadena de conexión, simplemente reemplace con el nombre de la base de datos de su elección, p. "Hola":

datomic:free://localhost:4334/hello 

El uso de este URI, ahora debería ser capaz de repetir los pasos de la sección anterior, esta vez haciendo su conexión a la realiza la transacción.

+0

ahh ... Me salté ese paso cuando estaba pasando por el tut! ¡Gracias! – zcaudate

+0

Ahora también se puede usar el protocolo 'datomic: free: //'. – vemv

+0

@vemv - gracias Actualicé la respuesta – sw1nn

Cuestiones relacionadas