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.
This commit is contained in:
Sisyphus
2026-04-29 17:33:58 +08:00
parent 5b55dda367
commit ed40de4050
12 changed files with 1266 additions and 0 deletions

View File

@@ -0,0 +1,9 @@
from .lookup import LookupGroup, LookupItem
from .setting import FieldRequirementRule, TenantSetting
__all__ = [
"LookupGroup",
"LookupItem",
"TenantSetting",
"FieldRequirementRule",
]