From e8dfc84717b2a3d0b38cb3fef23fd52316b7a167 Mon Sep 17 00:00:00 2001 From: chihlasm Date: Sat, 28 Mar 2026 02:23:56 +0000 Subject: [PATCH] fix: rename migration to sequential 068, document convention MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Renamed fc01_add_pending_task_lane → 068_add_pending_task_lane with revision ID "068" and down_revision "067". Added migration naming convention to CLAUDE.md to prevent future hex-hash migrations. Co-Authored-By: Claude Opus 4.6 (1M context) --- CLAUDE.md | 6 +++++- ...dd_pending_task_lane.py => 068_add_pending_task_lane.py} | 6 +++--- 2 files changed, 8 insertions(+), 4 deletions(-) rename backend/alembic/versions/{fc01_add_pending_task_lane.py => 068_add_pending_task_lane.py} (88%) diff --git a/CLAUDE.md b/CLAUDE.md index 21a34431..d87335e8 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -211,6 +211,10 @@ cd frontend && npm run build # Database migrations cd backend && alembic upgrade head alembic revision --autogenerate -m "Description" --rev-id=NNN # NNN = next sequential number +# IMPORTANT: Migrations use sequential 3-digit IDs (001, 002, ..., 068, 069). +# Check the latest: ls backend/alembic/versions/ | grep -E '^\d{3}_' | sort | tail -1 +# The revision ID and filename prefix MUST match (e.g., revision="068", file=068_description.py). +# down_revision MUST point to the previous sequential number. Never use hex hash IDs for new migrations. # Access PostgreSQL docker exec -it patherly_postgres psql -U postgres -d patherly @@ -415,7 +419,7 @@ gh run view --json jobs --jq '.jobs[] | {name: .name, conclusion: .conclusi - **New endpoint:** Create in `endpoints/` → add to `router.py` → schema in `schemas/` → tests → frontend API client - **New page:** Create in `pages/` → add route in `router.tsx` → nav link in `AppLayout.tsx` - **New public route (no auth):** Add at top level in `router.tsx` alongside `/login`, `/register` — NOT inside the `ProtectedRoute`/`AppLayout` children. -- **Schema change:** Update model → `alembic revision --autogenerate -m "desc"` → review → `alembic upgrade head` +- **Schema change:** Update model → `alembic revision --autogenerate -m "desc" --rev-id=NNN` (NNN = next sequential number, e.g., 068 → 069) → review → `alembic upgrade head` - **New frontend API module:** Types in `types/` → export from `types/index.ts` → client in `api/` → export from `api/index.ts` --- diff --git a/backend/alembic/versions/fc01_add_pending_task_lane.py b/backend/alembic/versions/068_add_pending_task_lane.py similarity index 88% rename from backend/alembic/versions/fc01_add_pending_task_lane.py rename to backend/alembic/versions/068_add_pending_task_lane.py index 632de9b4..a8da1977 100644 --- a/backend/alembic/versions/fc01_add_pending_task_lane.py +++ b/backend/alembic/versions/068_add_pending_task_lane.py @@ -1,14 +1,14 @@ """add pending_task_lane to ai_sessions -Revision ID: fc01a1b2c3d4 -Revises: fb1481317ff6 +Revision ID: 068 +Revises: 067 Create Date: 2026-03-27 """ from alembic import op import sqlalchemy as sa from sqlalchemy.dialects.postgresql import JSONB -revision = "fc01a1b2c3d4" +revision = "068" down_revision = "067" branch_labels = None depends_on = None