46 lines
1.5 KiB
Markdown
46 lines
1.5 KiB
Markdown
# Hapus Kolom Code dari Plan
|
|
|
|
**Tanggal:** 2026-07-24
|
|
**Status:** Selesai
|
|
|
|
## Tujuan
|
|
Menghapus kolom `code` dari tabel `plans` dan seluruh referensinya di API.
|
|
|
|
## Yang Dikerjakan
|
|
|
|
### 1. Model
|
|
- Hapus field `code: Mapped[str]` dari `Plan` model
|
|
- Hapus import `String` dari sqlalchemy (tidak dipakai lagi)
|
|
- Sebelum: `code`, `name`, `description`, `price`, `limits`, `is_active`
|
|
- Sesudah: `name`, `description`, `price`, `limits`, `is_active`
|
|
|
|
### 2. Schema
|
|
- Hapus `code` dari `PlanCreate`, `PlanUpdate`, `PlanResponse`
|
|
- Sebelum: `PlanCreate(code, name, description, price, limits)`
|
|
- Sesudah: `PlanCreate(name, description, price, limits)`
|
|
|
|
### 3. Service
|
|
- Hapus uniqueness check `code` di `create_plan()`
|
|
- Hapus uniqueness check `code` di `update_plan()`
|
|
|
|
### 4. Factory
|
|
- Hapus `code` dari `PlanFactory.definition()`
|
|
|
|
### 5. Tests
|
|
- Hapus semua referensi `code` dari test service dan API
|
|
- Hapus test `test_create_duplicate_code` dan `test_update_conflict_code`
|
|
|
|
## File yang Diubah
|
|
|
|
| File | Aksi | Detail |
|
|
|------|------|--------|
|
|
| `api/app/models/plan.py` | Diubah | Hapus field `code` |
|
|
| `api/app/schemas/plan.py` | Diubah | Hapus `code` dari Create, Update, Response |
|
|
| `api/app/services/plan_service.py` | Diubah | Hapus uniqueness check `code` |
|
|
| `api/app/factories/plan_factory.py` | Diubah | Hapus `code` dari definition |
|
|
| `api/tests/test_plan.py` | Diubah | Hapus referensi `code` dan test duplikasi |
|
|
|
|
## Notes
|
|
- Perlu jalankan SQL `ALTER TABLE plans DROP COLUMN code;` di database
|
|
- Tidak ada migrasi tool (Alembic), jadi harus manual via SQL
|