Skip to content

Backups and export

Filipe Soares edited this page Oct 3, 2026 · 1 revision

Backups and export

Two ways to copy a store, for two different jobs.

backup export
made by the dashboard (VACUUM INTO) memai-store export
format a byte-perfect SQLite copy text: jsonl or md
good for restoring a machine diffing, grepping, reviewing, carrying a domain to another store
keeps the edit history yes only with --include-edits

Backups

Maintenance → Backups in the dashboard takes, restores, renames and pins backups, and zips old ones by month, by week or under a name you choose. One is also taken automatically before a curation run is applied, before a permanent delete, before a restore, and before a move between projects.

project its backups
General MEMAI_HOME/backups/General-<stamp>.db
any other MEMAI_HOME/backups/<name>/

Restoring replaces the whole project, so it takes one backup at a time.

Export

memai-store export --out memories.jsonl              # everything, round-trippable
memai-store export --format md --domain acme/search  # one subtree, to read
memai-store export --include-archived --include-edits --out full.jsonl
  • jsonl — one record per line: every column, cross-listings, relations, whole diagram graphs with their hand-made positions, whole task checklists. A diff is per memory.
  • md — one document grouped by domain. Export only.

Import

memai-store import memories.jsonl --dry-run   # what would be written
memai-store import memories.jsonl

An import writes what is not already there and skips what is, so running it twice changes nothing, and the local row always wins. uids and timestamps come across unchanged, so every relation and diagram link still points at the right record. The keyword index is rebuilt from the content.

Move

memai-store move carries memories into another project; see Projects.

memai-store move --to archive --domain acme/legacy --dry-run
memai-store move --to archive --domain acme/legacy --create

Clone this wiki locally