Tables and data modeling · AutessaDB
Append-only tables
AutessaDB supports append-only tables: a write-once table where rows can be inserted and read but never updated or deleted. It is built for ledgers, audit trails and records that must not change, and the setting is a one-way latch that can be turned on but never off.
-- the problem
Audit data is only trustworthy if nobody can rewrite it
A payment ledger, a consent record or an evidence log loses its value the moment someone can quietly edit a row. Application code that promises not to update rows is not the same as a table that refuses to. Append-only tables make immutability a property of the data, not a convention.
What you get
- Inserts and reads work as normal; every update and delete is refused.
- The append-only flag is a one-way latch: you can turn it on later, but never off.
- Removing a column is refused, because it would destroy history.
- Computed columns are not allowed on an append-only table.
- Every returned schema carries an appendOnly flag, so apps and agents can tell before they try to write.
- Row security, masking and the access log still apply, so immutable does not mean public.
-- how it works
How does append-only tables work in AutessaDB?
Decide at creation
Set appendOnly in the schema when you create the table. Ledger and audit tables should start this way.
Write events, not edits
Model changes as new rows (a correction, a reversal) instead of edits to old ones.
Read and report
Query, aggregate and search the table as usual; history stays exactly as written.
-- every option
Append-only rules
| option | what it does |
|---|---|
| Insert / read | Allowed. |
| Update / delete | Refused, including bulk and batch calls. |
| Turn on later | Allowed on an existing table. |
| Turn off | Never allowed. |
| Remove a column | Refused. |
| Computed columns | Not allowed. |
-- example
Full reference in the AutessaDB CLI docs and the API reference.
-- permissions
Who can do what?
| access | can |
|---|---|
| Owner / ADMIN | Create the table append-only, or latch an existing table. |
| WRITE | Insert new rows. |
| READ | Read, query and search rows. |
-- faq
Questions about append-only tables
Can I turn append-only off?
No. Append-only is a one-way latch. You can turn it on for an existing table, but never off, which is what makes it trustworthy.
How do I correct a mistake in an append-only table?
Insert a new row that reverses or corrects the old one. The original stays, so the history shows both.
Does row-level security still apply?
Yes. Row rules, column masking and hidden columns work on append-only tables like any other.
100% customizable, code and all
Make AutessaDB fully your own.
Use it out of the box, then change anything. Ask Autobot, Autessa’s AI builder, for a new field, screen, report, workflow or agent and it builds it into your copy of the app. Or open the code and edit it yourself. Nothing is locked: the app, its data and its code are yours.
Start free and make it yours