Fork me on GitHub
#datomic
<
2019-06-28
>
jaret14:06:43

We have released a new version of Client-pro, Datomic On-prem, and Datomic Cloud. See announcements below for more info: https://forum.datomic.com/t/new-client-pro-release-0-9-37/1041

stuarthalloway14:06:11

@nolan if we bump codec, any reason not to bump to 1.12 (i.e. do you need 1.11 specifically?)

Nolan15:06:59

@stuarthalloway no specific need for 1.11. 1.12 would probably make most sense if you guys were to bump it

stuarthalloway15:06:36

Will test ASAP, this is an easy change if they didn't break anything.

Nolan16:06:02

Right on, thanks for looking into this Stu! Would be huge for us, but I also recognize there’s a lot beyond my line of sight here. Will be following closely!

robert-stuttaford15:06:25

wahey! \o/ tuples! specs!

shaun-mahood15:06:45

Am I reading it right that tuples can be used as composite keys? If so, that's fantastic! Are there any non-obvious surprises that I would run into if I treat them like I would a SQL composite key?

robert-stuttaford15:06:00

yep! no idea on the SQL thing. i'm also curious about how the performance changes

favila15:06:05

Question: for composite attrs, list of allowed types does not mention refs, but the example in the docs uses a ref

favila15:06:05

can you put a ref in a composite attr? is the system aware of it's ref-ness? this seems like an easy way to accidentally introduce an internal weak eid reference

stuarthalloway15:06:48

Hm, I feel tricked, this seems like more than one question 🙂

stuarthalloway15:06:06

Yes, yes, and probably yes.

shaun-mahood15:06:46

Reading through all the changes right now - that's some amazing timing! I added https://receptive.io/app/#/case/17932 3 years ago on after asking @stuarthalloway about it at my first Datomic training, and I just finished writing the last required feature in my first real Datomic application for work yesterday. It's the same domain that I wanted composite keys for, so I should be able to add them in before we move it to full production mode. Days like this make me feel like the universe (or the Datomic team) really has my back. 🙂

datomic 4
stuarthalloway15:06:42

"The day after you asked for it" would probably have been better timing... 🙂

shaun-mahood15:06:44

Ok, next time I want something big and new I'll expect it right away then! 🙂

fmnoise15:06:13

hey guys, small question, if I have 2 databases on transactor, are transactions serializable in scope of each db, or in scope of transactor?

akiel16:06:11

In scope of each DB. There is no coordination between DB‘s.

fmnoise18:06:14

so if I have multi-tenant app, then I can scale with database for each tenant :thinking_face:

souenzzo16:06:52

As a datomic-cloud user, please bump datomic-free. There is some tooling that use it.

akiel16:06:00

I can only second this. I’m a paying on-prem user and like to see all flavors of Datomic at the same version. I also will release the free Docker image ASAP.

💥 1
kenny17:06:00

In Datomic Cloud, attribute predicates and entity predicates just need to be on the classpath of your application, not installed as Ions, correct?

stuarthalloway17:06:21

Database predicates must be on the classpath where transactions execute. In Cloud this means ions. In On-Prem, it is up to you to start a transactor with the appropriate code on the classpath.

souenzzo18:06:04

can I use many :db/ensure ? like [[:db/add :souenzzo :name "Enzzo"] [:db/add :souenzzo :db/ensure :op1] [:db/add :souenzzo :db/ensure :op2]] ?

dangercoder19:06:07

How do you guys handle schemas in production, do you let your application code-base run through your schema updates (functions) on startup and send them to datomic or do you have an external application which takes care of it?

dangercoder19:06:47

right now I just transact my schemas as a part of my application init.

akiel14:06:50

I do the same. Transacting my schema on every startup.

👍 1
csm19:06:07

we wrote a tool that we run to update the schema. We have lots of microservices using datomic, so transacting on startup doesn’t make sense for us

👍 2
hadils19:06:38

We transact the schema on startup. When we move to microservices, we won't be doing that anymore. @UFQT3VCF8 -- how did you architect the use of datomic with microservices?

👍 1
csm20:06:53

there’s probably a lot I could talk about, but overall it’s simple — services just connect to DynamoDB and the transactor. We tried using the peer-server and client API, but the peer API was much more efficient under load

eoliphant17:06:21

Same here, used to use conformity as it felt weird to not have some kind of "schema migration" coming from the relational world, but have since gone to just transacting stuff in