This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-06-03
Channels
- # announcements (12)
- # beginners (44)
- # boot (27)
- # calva (73)
- # cider (1)
- # clj-kondo (9)
- # cljdoc (9)
- # cljs-dev (15)
- # cljsrn (6)
- # clojure (90)
- # clojure-dev (5)
- # clojure-europe (4)
- # clojure-ireland (3)
- # clojure-italy (22)
- # clojure-mexico (2)
- # clojure-nl (8)
- # clojure-uk (32)
- # clojurescript (12)
- # core-async (2)
- # cursive (16)
- # data-science (10)
- # datascript (3)
- # datomic (44)
- # emacs (17)
- # events (4)
- # graalvm (1)
- # hoplon (5)
- # jackdaw (17)
- # keechma (11)
- # nrepl (7)
- # off-topic (24)
- # re-frame (19)
- # reitit (4)
- # rewrite-clj (2)
- # robots (9)
- # shadow-cljs (20)
- # sql (12)
- # testing (4)
- # tools-deps (23)
- # vim (55)
@joshkh yes, you deploy to a group which can be a query group or a primary compute group
gotcha. so if we want different deployment stages for an ions related project we'd create two query groups with the same existing system name (storage) stack and different application names such as myapp-dev
and myapp-prod
?
okay, so then here's the part that's confusing me: what does :app-name
represent in my project?
so having the same app-name in multiple query groups and/or primary compute groups allows you to deploy the same ion project to any/all of them
that way when you’re ready to promote a build/version to production you dont have to change your code at all
whereas if you use different application names, you’d need to change the app name in the config and re-push to be able to ship it to your other group(s)
okay, so let's say for my myapp
project i've created two query groups, one for dev and one for prod, and i've given them the same Application Name aka code deploy target. how do i choose to deploy to only one of them if they have the same group name?
> whereas if you use different application names, you’d need to change the app name in the config and re-push to be able to ship it to your other group(s) that's exactly what i'm trying to avoid 🙂
when you deploy you replace $group in the command with whichever one you want to deploy it to
finally got around to testing and it worked like a charm. thanks again @U05120CBV
Hi quick question, had to do some work on an older on-prem project, and forgot to add :db/index true
to some new attrs, I’ve since fixed it, but was just curious about the behavior for datoms that were already transacted. do they get indexed in the background or something?
Yes turning db/index true on will add them to the next indexing job. Turning it on can be expensive if there is a lot of data. If you can, I always recommend testing in an environment before rolling out to production. Also.. worth checking to see if an indexing job has completed since you made the change as that would indicate they’ve already been added to the index.
Let's say I have a datomic db instance that I have by doing (let [db (d/db conn)] is there a way to go back and get the conn from the db i just made .... (let [conn (?some-method-to-extract-conn? db)])
remember that db instances are values, connections are stateful
oh well .. got it ..
kind of goofy thing to do you might think, but if you say why i wanted to do it you might thing .. oh ok .. not so goofy
how would i query for all of the datoms in a given transaction (equivalent to drilling in to the Transactions tab in the Datomic Console)? if i try this:
(d/q '[:find ?e ?a ?v ?t
:in $ ?t
:where
[?e ?a ?v ?t]]
(d/db conn)
13194139536455)
i get an error: Execution error (Exceptions$IllegalArgumentExceptionInfo) at datomic.error/arg (error.clj:57).
:db.error/insufficient-binding Insufficient binding of db clause: [?e ?a ?v ?t] would cause full scan