¿Cómo obtener una base de datos datómica local persistente?

Con Datomic, estoy confundido sobre cómo obtener una base de datos local para jugar

Si escribo:

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

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

>> (d/connect "datomic:mem://hello")
#<LocalConnection datomic.peer.LocalConnection@57102fab>

>> Ctrl-D to Disconnect

Entonces, si reinicio el repl:

>> (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?

preguntado el 12 de junio de 12 a las 19:06

2 Respuestas

La el comienzo la guía habla sobre el uso del protocolo de almacenamiento gratuito

Ejecutar el transactor con el protocolo de almacenamiento gratuito

El protocolo de almacenamiento gratuito utiliza archivos de disco locales para el almacenamiento.

Puede iniciar una 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, incluido el URI base que usará para conectarse, por ejemplo

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

Para crear una cadena de conexión, simplemente reemplácela con un nombre de base de datos de su elección, por ejemplo, "hola":

datomic:free://localhost:4334/hello

Usando este URI, ahora debería poder repetir los pasos de la sección anterior, esta vez haciendo su conexión con el transactor.

Respondido el 02 de Septiembre de 13 a las 13:09

ahh... ¡Me salté ese paso cuando estaba pasando por el tut! ¡Gracias! - fecha de caducidad

Ahora uno puede usar el datomic:free:// protocolo también. -

En la versión actual de datomic (0.8.4122), el nombre del archivo de propiedades de muestra es diferente. Usar bin/transactor config/samples/free-transactor-template.properties. - daniel neal

Por cierto, tuve que usar bin/transactor.cmd (¿No estás registrado como bin/transactor) en Windows/Cygwin para poner en marcha la base de datos. - 0dB

A partir de 2020, aunque todavía existe el libre de datomic, se retrasa un poco en las funciones. Cognitect presentó una nueva edición Pro Starter que pretende ser una mejor manera de comenzar. Eso también es gratis y da una licencia perpetua. La limitación es solo por la duración de las actualizaciones gratuitas que obtiene, limitada a un año.

Aquí está la última guía de instalación: https://docs.datomic.com/on-prem/dev-setup.html

Sin embargo, si solo quiere probarlo, probablemente sea mejor que use primero en memoria: https://docs.datomic.com/on-prem/getting-started/connect-to-a-database.html

Tenga en cuenta que la nube datomic es un producto aún más nuevo. Pero incluso si se considera la nube, la exploración local primero no parece irrazonable. Si es así, tenga en cuenta que debe centrarse en aprender la API del cliente, en lugar del par, porque los pares no existen en la nube datomic (en realidad, lo hacen, como el servidor del par ... que es lo que conectan los clientes ligeros). a, para ejecutar consultas).

Respondido 20 Abr '20, 18:04

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.