Commit Graph
4 Commits
Author SHA1 Message Date
clawbot 147d58dd96 Say the query logger drops bound values (closes #535)
check / check (push) Canceled after 0s
The comment on MaxAccessLogLineBytes said the GORM adapter logs each
statement with the client's parameter written into it. Its
ParamsFilter drops every bound value, so the statement is logged with
its placeholders. The comment now says so and keeps the parts that
still hold: the widest line spends two budgets and the adapter's test
checks it against this constant.

The assertBounded doc no longer claims each line was cut, and the
postReceiver doc no longer explains itself by a log size test that is
gone.

Model: opus-5-5
2026-10-15 18:57:58 +02:00
clawbot 15377f792b Build every database's schema from embedded SQL files (closes #56)
check / check (push) Canceled after 0s
The main database, each webhook's event database and each archive file
get their schema from SQL files under internal/db/migrations/, one
directory per kind. Opening a file runs, in one transaction, each file
that schema_migrations does not list. GORM stays for queries.
AutoMigrate is gone, tests included.

An event database holds only its own tables now, so the sweep that
removed target rows copied into it is deleted. The association guard
stays: without it a delivery write fails on the missing targets table.

AutoMigrate also had GORM parse every model before a handle was shared.
That is now done on its own: GORM races when two goroutines first use
models that refer to each other.

Model: opus-5-5
2026-10-13 06:34:05 +02:00
clawbot 5af161ef60 Log SQL with placeholders, never bound values (closes #207) (#222)
check / check (push) Superseded by a newer commit; never tested
2026-08-20 07:20:59 +02:00
clawbot 0c64c411cc Route GORM's logger through slog and bound it (closes #178)
check / check (push) Successful in 2m57s
2026-08-18 07:17:43 +02:00