¿Cómo obtener una base de datos datómica local persistente?
Frecuentes
Visto 5,018 veces
20
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?
2 Respuestas
20
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
1
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 clojure datomic or haz tu propia pregunta.
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 nealPor cierto, tuve que usar
bin/transactor.cmd
(¿No estás registrado comobin/transactor
) en Windows/Cygwin para poner en marcha la base de datos. - 0dBEstoy recibiendo un error como este: groups.google.com/d/msg/datomic/XKEVcORz9Z8/kq1VrW53hZAJ - Adam Miller