National Commerce Docs
Database

Maintenance & Scratch

Backup snapshots, staging tables, the error log, and the test table, none of which are part of the live model.

Not every table in the database is part of the running application. This page collects the leftovers: one-off backups, an error log, and a scratch table. Treat them as not load-bearing. Nothing in the portal should depend on them.

Failed runs

A log of failed N8N workflow executions, captured for debugging. (The table name has a double space: Failed runs.)

ColumnTypeNotes
idbigintPrimary key (identity).
created_attimestamptzWhen the failure was recorded. Defaults to now().
node_nametextThe workflow node that failed.
failed_jsonjsonThe failing payload.
is_solvedbooleanWhether the failure has been resolved. Defaults to false.
execution_idbigintThe N8N execution id.
execution_urltextLink to the execution in N8N.
workflow_nametextThe workflow that failed.

Related workflows

The N8N side of error handling is documented under n8n flows. See the error handler and the reattempt / redo-error-runs workflows.

Test Table

A scratch table for experiments. It has no role in the application.

ColumnTypeNotes
idbigintPrimary key (identity).
created_attimestamptzDefaults to now().
nametextFree text.
self_referencebigint→ references Test Table(id). A self-reference, used to test recursive relationships.
utctimetimestampTimestamp without time zone.
timezonetimestamptzTimestamp with time zone.

Backup snapshots

Two _backup_* tables hold point-in-time copies taken during a data cleanup on 2026-02-27. They are plain snapshots (no primary keys, no foreign keys, no triggers) and exist only so the cleanup could be reversed if needed.

TableWhat it snapshots
_backup_bad_base_skus_20260227Rows removed or fixed in Base SKUs during the cleanup.
_backup_bad_inventory_20260227Rows removed or fixed in Inventory during the cleanup.

Each mirrors the columns of its source table at the time of the snapshot.

Safe to ignore, safe to drop later

These snapshots and the test table are not read by the app. Leave them alone unless you are cleaning up the database, and confirm before dropping anything dated: the date is the only record of when the backup was taken.

On this page