Skip to main content

db-clear

The db-clear command deletes H2 log database files. This is useful when you want to clean up old logs or start fresh after testing.

Synopsis​

actor-iac db-clear --db <path> [options]

Description​

The db-clear command removes the H2 database files associated with actor-IaC workflow logging. It deletes both the main database file (.mv.db) and the trace file (.trace.db) if present.

Before deleting, the command checks if a log server is running on the default or specified HTTP port. This prevents accidental deletion of a database that is currently in use. You can bypass this check with the --force option.

Required Options​

OptionDescription
--db <path>Path to the H2 database file (without the .mv.db extension).

Optional Options​

OptionDescription
-f, --forceForce deletion without checking if a log server is running. Use with caution.
--http-port <port>HTTP port to check for a running log server. Defaults to 29091 (the default info API port for log-serve).

Examples​

Delete a Log Database​

Delete the default log database in the current directory:

./actor_iac.java db-clear --db ./actor-iac-logs

Example output:

Deleted: /home/user/project/actor-iac-logs.mv.db
Deleted: /home/user/project/actor-iac-logs.trace.db
Database cleared successfully.

Force Delete​

Delete even if a log server might be running:

./actor_iac.java db-clear --db ./actor-iac-logs --force

Check Custom Port​

If your log server uses a non-default HTTP port:

./actor_iac.java db-clear --db ./logs/shared --http-port 28891

Safety Check​

By default, the command checks if a log server is running before deleting. If a server is detected, the command fails with an error:

Error: Log server is running on HTTP port 29091
Please stop the log server first, or use --force to skip this check.

This prevents accidental deletion of a database that workflows are actively writing to. To proceed anyway, either:

  1. Stop the log server first (Ctrl+C or wait for auto-shutdown)
  2. Use the --force option (not recommended while server is running)

Files Deleted​

The command deletes the following files if they exist:

FileDescription
<path>.mv.dbMain H2 database file containing all data
<path>.trace.dbH2 trace file (debug logging, may not exist)

Exit Codes​

CodeDescription
0Database cleared successfully
1Error (log server running, file not found, permission denied)

Use Cases​

Clean Up After Testing​

After running integration tests that generate many log entries:

./actor_iac.java db-clear --db ./test-logs

Reset Development Environment​

Start fresh with no execution history:

./actor_iac.java db-clear --db ./actor-iac-logs

Automated Cleanup​

In a CI/CD pipeline, clean up before each test run:

./actor_iac.java db-clear --db ./ci-logs --force 2>/dev/null || true
./actor_iac.java run -d ./workflows -w test-suite --log-db ./ci-logs

See Also​

  • log-search - Query logs before deleting
  • log-serve - Start a log server (check before clearing)
  • log-merge - Consolidate logs before clearing source databases