DataTalksClub / DataTalksClub/website

D3.1 Extension models and user model rename

Open
#335 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

auth courses data-migration needs grooming P1
Dominant language
Python
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

Mirrors issue D3.1 Extension models and user model rename from the DataTalksClub/community-base unification plan (docs/plan/phase-3.md). Depends on: C5.2a (done). Implements playbook P7 (swap a site to the shared user model), DTC part, steps 1 to 3.

Goal

Move site-only user fields into extension models and rename the user model so the DTC accounts schema matches the shared community_base.accounts field table, preparing the accounts adoption (D3.2) and the C3.7 identity donor compatibility checkpoint.

Steps (from the plan)

  1. courses.LearnerProfile with the course-platform fields; accounts_ext.IdentityState with the identity reconciliation fields and the AccountIdentityAlias, AccountIdentityQuarantine, AccountReconciliationRun, CmpLearnerImportProgress models; data migrations; readers rewritten.
  2. RenameModel("CustomUser", "User") and AlterModelTable("accounts_user").
  3. Field reconciliation to the C3.1 field table (add missing AISL-origin fields with defaults).

Verification (from the plan)

  • uv run pytest -q -> pass
  • development login works after deploy
  • row counts equal before and after (playbook P14)

Non-goals

  • Adopting the shared community_base.accounts app (that is D3.2, after C5.3 and C3.7).
  • The django_migrations cleanup, squashed-migration fake, and AUTH_USER_MODEL flip described in P7 steps 4 and 5.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with docs/plan/phase-3.md and the existing courses.LearnerProfile and accounts_ext.IdentityState models, then trace the named identity and reconciliation models and their readers. Run uv run pytest -q during the migration work. Done means the tests pass, development login works after deployment, and row counts match before and after.

Written by the indexing model from the issue text.

Assessment

Tech stack
django, python
Domain
authentication, backend, database
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.