aboutsummaryrefslogtreecommitdiffstats
path: root/AGENTS.md
diff options
context:
space:
mode:
Diffstat (limited to 'AGENTS.md')
-rw-r--r--AGENTS.md11
1 files changed, 6 insertions, 5 deletions
diff --git a/AGENTS.md b/AGENTS.md
index 8b997e4..4ff23f8 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -47,8 +47,7 @@ cmd/blogspace/ main.go (serve|seed|migrate, superadmin + root blog bootst
migrates every blog database at start), seed.go
internal/config/ env → Config; RootSubdomain = "www"
internal/db/ Cluster (control pool + lazy per-blog pools, CREATE/DROP DATABASE),
- goose providers; migrations/control/*.sql, migrations/blog/*.sql,
- split.go (control Go migration 00006: the one-off move to per-blog DBs)
+ goose providers; migrations/control/*.sql, migrations/blog/*.sql
internal/store/ Store = control DB (users, blog registry, create/delete blog);
BlogStore = one blog's DB (settings, pages, posts, images, sections, modules, menu)
internal/auth/ bcrypt, JWT issue/parse, cookie, HMAC CSRF
@@ -218,9 +217,11 @@ superadmin password to `admin`. Production refuses both.
(runs in every blog database — it must not reference `users`/`blogs`) and
`internal/db/migrations/control/` for users and the registry; goose
`-- +goose Up/Down` sections; they run automatically at startup. Never
- edit an applied migration. Control 00005–00007 are the one-off split (add
- `db_name`, move content in `split.go`, drop the old tables) — a fresh
- install still replays them.
+ edit an applied migration. Both chains were re-baselined at 00001 after
+ the move to per-blog databases; deployments from before it have
+ `goose_db_version` rows 2–7 in the control DB that must be deleted once
+ (README "Upgrading from a single database") or the next control migration
+ is refused as "missing".
- Blog content goes through `BlogStore` methods, which take `ctx` first and
are bound to one blog's database, so a blogger can never touch another
blog's rows; users and the registry go through `Store`.