jelou databases provisions and operates Jelou’s managed databases. The
jelou datum alias works everywhere jelou databases works:
same subcommands, same flags, same exit codes.
There are two products named “Datum”. The
jelou datum alias points to the
current Jelou Databases product (the one this CLI manages). There’s
a separate legacy database product, accessible only from the Studio,
that this CLI cannot manage.Databases
Collections
collections create accepts --field "<name>:<type>" (repeatable, defines
columns) and --type base|view (collection type; defaults to base).
collections create is get-or-create: if a collection with that name and
the same schema already exists, it’s reused and the response reports
reused: true instead of failing. If one exists with that name but a
different schema, the operation is rejected with exit code 2 and a
field-by-field diff — it never mutates it silently.API keys
Each key is created with granular abilities, combinable with commas:records:read, records:write, records:delete, files:read, files:write.
Common presets: read_only, read_write, all.
Retrying
api-keys create with a name that already exists doesn’t mint a
second key: it fails with exit code 2 and ALREADY_EXISTS, including
details.never_used so you know whether the existing key was ever used —
that tells you whether rotating it with api-keys regenerate is safe.Triggers
Webhooks that fire on a collection’s events (create, update, delete).
triggers create/update also accept --method "<verb>" (HTTP verb,
defaults to POST) and, for update events, --update-scope fields --columns "<col1,col2>" to fire only when those columns change (the default
scope is all).