This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2015-10-14
Channels
- # admin-announcements (21)
- # aws (5)
- # boot (41)
- # cider (76)
- # cljs-dev (15)
- # clojure (251)
- # clojure-brasil (25)
- # clojure-dev (16)
- # clojure-japan (8)
- # clojure-nl (1)
- # clojure-russia (110)
- # clojure-uk (7)
- # clojurescript (168)
- # clojurewerkz (1)
- # cursive (10)
- # datomic (45)
- # devcards (50)
- # emacs (5)
- # hoplon (6)
- # instaparse (6)
- # ldnclj (73)
- # lein-figwheel (4)
- # leiningen (6)
- # liberator (7)
- # luminus (2)
- # off-topic (19)
- # om (80)
- # onyx (2)
- # re-frame (11)
- # testing (12)
Hi all, we're upgrading to datomic pro
Are 5 processes enough to maintain a staging + prod web server?
1 Peer prod, 1 Peer staging, 1 prod transactor, 1 staging transactor, 1 for occasional dev REPL
or do you usually share the same transactor between staging and prod?
@frankie: you can use your license for multipe envs
The limit is for the amount of peers you can apply to one transactor that is connected to a certain database
So you can use the license for local dev
start a test transactor with the max amount of peers
and a prod with the max amount of peers
from the datomic pricing page:
A Datomic Pro license is priced by the number of simultaneous processes using Datomic software (peers + transactors) in production at your company. Testing and development use against non-production databases does not count towards your limit.
@mitchelkuijpers: how are non-production databases / testing / development differentiated from production in Datomic’s eyes?
We don't want to use datomic-free in our dev/staging environment, if that's what you mean
@frankie: No you can use the same license
@adam_awan: they don't but you accept a license agreement
@mitchelkuijpers: I mean, we want to use a transactor, not an in-memory db
Again: A Datomic Pro license is priced by the number of simultaneous processes using Datomic software (peers + transactors) in production at your company. Testing and development use against non-production databases does not count towards your limit.
you can start multiple transactors with the same license
Interesting. But obviously the question is how do they know which database is a production database?
If you can use the same license to start multiple transactors then you can potentially cheat and have N production databases, right?
^ ok license agreement i see
@frankie: So you can simply start with datomic pro starter and then grow from there
@mitchelkuijpers: thanks a lot that was really useful
@frankie We went through the same 2 months ago, glad to help
@mitchelkuijpers: yes thanks, very helpful
when trying to alter an attribute to [:db/add :person/name :db/fulltext true]
I'm getting:
Caused by: java.lang.IllegalArgumentException: :db.error/invalid-alter-attribute Error: {:db/error :db.error/unsupported-alter-schema, :attribute :db/fulltext, :from :disabled, :to true}
Do I need to first [:db/retract :person/name :db/index true]
?(I'm assuming I can't have both :db/index true
AND :db/fulltext true
on the same attribute)
@bostonaholic: You can’t alter :db/fulltext
The list of supported schema alterations is here: http://docs.datomic.com/schema.html#altering-schema-attributes
that's what I was afraid of
ah, thanks
so I guess a new "shadow field" should be added?
if you need to add the fulltext capability, you can rename the existing attribute, create a new one with the appropriate settings (fulltext true) and migrate the data from the existing attribute to the new one
that would work, too
right on, thanks!
@marshall: am I correct in my assumption that an attribute cannot have both :db/index
and :db/fulltext
?
@bostonaholic: an attribute can have both. if it is :db/index true, it will be indexed in AVET, :db/fulltext allows it to be substring searched using the fulltext query funcion
that makes sense. I wasn't sure
the mbrainz sample repo shows use of both. https://github.com/Datomic/mbrainz-sample
Regarding the resolution of temp id's - I am using the rest api and thus need a way to go from temp id to actual id outside of the JVM. I'm currently doing some bitshifting that I found in a mailing list post, but this requires knowing the partition id. I notice that resolve-tempid
doesn't need the partition id though, and I'm in a situation now where this is highly desirable. Is there a way for me to resolve tempids without knowing the partition id?