Reference14 migrations
Database migratsiyalari
14 ta schema bosqichi va ularning domen maqsadi.
Migratsiya katalogi
| # | Mavzu | Asosiy o‘zgarish |
|---|---|---|
| 001 | Initial schema | Identity, provider/model, chat, files, inference, usage, audit, jobs va pgvector bazasi |
| 002 | Provider endpoint | Endpoint normalization va provider konfiguratsiyasi |
| 003 | Runtime limits | Limit siyosati, reservations va usage constraints |
| 004 | Idempotency | Replay record, fingerprint va ownership |
| 005 | Chat persistence | Conversation/message/parts izchilligi |
| 006 | Reliable jobs | Lease, fencing, heartbeat, retry va dead-letter |
| 007 | Upload integrity | SHA-256, size, MIME va multipart metadata |
| 008 | CLI scopes | API key scope/model/IP siyosati |
| 009 | Production invariants | Constraintlar va o‘zbekcha platforma defaults |
| 010 | Projects & search | Project ownership va message search |
| 011 | Empty conversations | Bo‘sh chatlarni katalogdan chiqarish |
| 012 | Pagination | Stable cursor va message ordering |
| 013 | Soft-delete catalog | Conversation/model lifecycle va active indekslar |
| 014 | Conversation shares | Public snapshot token va revoke |
Migratsiyani qo‘llash
Command
go run ./backend/cmd/migrate
# yoki Compose release’da
docker compose run --rm migrateMigration command versiyalangan SQL fayllarni tartibda qo‘llaydi. API/worker yangi schema talab qilsa, migration ular ishga tushishidan oldin muvaffaqiyatli yakunlanishi kerak.
Yangi migratsiya qoidalari
- Amaldagi faylni tahrirlamang; yangi ketma-ket migration qo‘shing.
- Katta table rewrite va lock muddatini hisoblang.
- Expand → migrate data → contract usulini afzal ko‘ring.
- Old/new binary birgalikda ishlaydigan deploy oynasini test qiling.
- Constraint va indeksni production data hajmida baholang.