fix(web): drop the unused plan.opened_at column

Merged
DA
11d ago
+10-38

What

Step 2 of 2, stacked on #1854.

  • Migration 0060_plan_drop_opened_at.sql: DROP INDEX IF EXISTS "plan_user_opened" (0059 already dropped it, so this is a no-op kept for safety) and ALTER TABLE "plan" DROP COLUMN IF EXISTS "opened_at".
  • PENDING_DROP in tests/drizzle-schema.test.ts is empty again. Its guard test would fail if the entry stayed after the drop.
  • The interim store test from #1854 that dropped the column by hand is removed, because every store test now runs against the migrated table without it.

Rollout

Merge only after #1854's merge commit is serving in Production. Vercel migrates during the build while the previous deployment is still serving. Once #1854 is live, the running code no longer names opened_at in any SELECT, INSERT, or returning(...), so the drop is safe during the rollout window. Rolling back to a deployment from before #1854 would fail plan creation, because that code still names the column.

openedAt stays on the wire, still sent as createdAt, for desktops through v0.7.1.

Verification

  • ./scripts/check.sh exits 0.
  • The schema drift test passes both ways on PGlite, and the plan store and route tests pass.
  • No UI change. CI does not build or verify the Mac app, and ./scripts/verify.sh was not run (Linux VM; LUKE-159 is the manual Mac pass).

šŸ¤– Generated with Claude Code


Devin Review