mirror of
https://github.com/pacnpal/thrillwiki_django_no_react.git
synced 2025-12-21 13:31:09 -05:00
Implement historical tracking using django-pghistory; add middleware for context capture and update model architecture
This commit is contained in:
39
memory-bank/workflows/model-migrations.md
Normal file
39
memory-bank/workflows/model-migrations.md
Normal file
@@ -0,0 +1,39 @@
|
||||
## Model Migration Protocol for History Tracking
|
||||
|
||||
### Implementation Steps
|
||||
1. **Base Model Setup**
|
||||
```python
|
||||
# core/models.py
|
||||
import pghistory
|
||||
|
||||
class HistoricalModel(models.Model):
|
||||
class Meta:
|
||||
abstract = True
|
||||
|
||||
@pghistory.track(pghistory.Snapshot())
|
||||
def save(self, *args, **kwargs):
|
||||
return super().save(*args, **kwargs)
|
||||
```
|
||||
|
||||
2. **Concrete Model Implementation**
|
||||
```python
|
||||
# parks/models.py
|
||||
class Park(HistoricalModel):
|
||||
@pghistory.track(
|
||||
pghistory.Snapshot('park.create'),
|
||||
pghistory.AfterUpdate('park.update'),
|
||||
pghistory.BeforeDelete('park.delete')
|
||||
)
|
||||
class Meta:
|
||||
# Existing model fields and configuration
|
||||
```
|
||||
|
||||
3. **Migration Generation**
|
||||
```bash
|
||||
./manage.py makemigrations --name add_pghistory_tracking
|
||||
```
|
||||
|
||||
### Quality Assurance
|
||||
1. Verify historical events table creation
|
||||
2. Test event triggering for CRUD operations
|
||||
3. Validate context metadata capture
|
||||
Reference in New Issue
Block a user