Sisyphus
|
ed40de4050
|
feat(client,setting): complete Phase 2 with partitioned client_follow_logs
- apps/client (11 models): Client, ClientContact, ClientRequirement,
ClientSchoolPreference, ClientFollowLog (partitioned),
ClientFollowLogAttachment, ClientViewing, ClientPropertyMatch,
ClientStatusLog, ClientFavoriteFolder, ClientFolderItem
- apps/client/0002 RunSQL: PARTITION BY RANGE(created_at) for
client_follow_logs + monthly partitions + default; triggers
update_client_last_follow + update_client_viewing_progress;
partial unique index on client_no WHERE deleted_at IS NULL
- apps/setting (4 models): LookupGroup, LookupItem, TenantSetting,
FieldRequirementRule (tenant schema only per spec)
manage.py check green; all 9 Phase 2 apps complete.
|
2026-04-29 17:33:58 +08:00 |
|
|
|
9a7d06b34e
|
feat: scaffold Django multi-tenant project with 5 of 9 apps
Phase 1 scaffolding: config/, core/, base models, AES-256-GCM phone encryption, enums mirror
apps.tenant: Tenant + Domain (django-tenants)
apps.org: 11 models (OrgUnit hierarchy, Staff, audit logs)
apps.account: 4 models (UserAccount as AUTH_USER_MODEL, login/password tracking)
apps.permission: 7 models (RBAC + overrides + datascope + append-only changelog)
apps.region: 5 models (District, BusinessArea, MetroLine, MetroStation, School)
All migrations generated, manage.py check passes
|
2026-04-29 17:01:55 +08:00 |
|