Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
0e4a05e
docs: Naming Identifiers (WIP - Claude draft)
kdmccormick Mar 18, 2026
1c6b89e
fix: manual edits pt. 1
kdmccormick Mar 18, 2026
d7b5d96
fix: More edits
kdmccormick Mar 18, 2026
d1d28c6
fix: add uuids
kdmccormick Mar 18, 2026
f2414ca
fix: broaden scope to include when-to-use
kdmccormick Mar 18, 2026
8e6ed46
fix: change framing of codes and keys
kdmccormick Mar 20, 2026
e158ac3
fix: redoing the whole thing (WIP)
kdmccormick Mar 20, 2026
6c54042
docs: more ape writing
kdmccormick Mar 20, 2026
ee7c0bc
docs: consequenes and backcompat
kdmccormick Mar 23, 2026
29cd8ab
docs: rename
kdmccormick Mar 23, 2026
42d0e84
docs: typos
kdmccormick Mar 23, 2026
cf66349
fix: more 'stops'
kdmccormick Mar 23, 2026
31969d3
fix: claude fixes
kdmccormick Mar 23, 2026
e7109d2
docs: remove pointless sections
kdmccormick Mar 23, 2026
782b9d7
docs: asked cladue to make it easier to read
kdmccormick Mar 23, 2026
2470f8c
docs: version hazard
kdmccormick Mar 23, 2026
c056ff5
docs: final tweaks before review
kdmccormick Mar 23, 2026
a1c3cd5
docs: hmmm rst
kdmccormick Mar 23, 2026
b86bfc1
docs: hmmmmmm rst
kdmccormick Mar 23, 2026
5dda1ce
docs: rst table fix
kdmccormick Mar 23, 2026
7473480
docs: review feedback
kdmccormick Apr 3, 2026
00d08c3
docs: fix build
kdmccormick Apr 6, 2026
5cdb750
docs: note on identical opaquekeys cross-instance
kdmccormick Apr 6, 2026
da7bcd5
docs: claude tone pass at opaquekeys section
kdmccormick Apr 6, 2026
f7d1c52
docs: pk -> id
kdmccormick Apr 13, 2026
2c2264e
docs: final tweaks
kdmccormick Apr 13, 2026
5d175fc
docs: fix review period
kdmccormick Apr 16, 2026
1e4259b
docs: accepted
kdmccormick Apr 16, 2026
87e2bd8
docs: link resolutiojn
kdmccormick Apr 16, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 19 additions & 3 deletions oeps/best-practices/oep-0038-Data-Modeling.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ OEP-38: Data Modeling Best Practices
+---------------+------------------------------------------------------------+
| Title | Data Modeling Best Practices |
+---------------+------------------------------------------------------------+
| Last Modified | 2019-09-19 |
| Last Modified | 2026-03-23 |
+---------------+------------------------------------------------------------+
| Author | Brian Beggs <bbeggs@edx.org> |
+---------------+------------------------------------------------------------+
Expand Down Expand Up @@ -316,8 +316,9 @@ Columns should store only exactly what the name describes

- The name of a column in a table should accurately describe the data in that table.

- If a column is named course_id it should only store the course_id. Not the course_key, not a numeric value, not a timestamp. Just the course_id. Conversely if a column is named course_run_key it should store the course run key, not the course_id.

- A column named ``course_id`` should only store a foreign key to ``openedx_catalog.models_api.CourseRun``.
Not a string course run key, not a UUID. For more details on naming content identifiers,
see :ref:`OEP-68 Learning Content Identifiers`.

Deleting data
-------------
Expand Down Expand Up @@ -412,3 +413,18 @@ Backward Compatibility
**********************

Data models that are not within the standards of this document do not need to be updated to adhere to OEP-38 standards.

Change History
**************

2026-03-23
==========

* Add link to :ref:`OEP-68 Learning Content Identifiers`.
* `Pull request #773 <https://github.com/openedx/openedx-proposals/pull/773>`_

2019-05-01
==========

* Initial proposal
* `Pull request #119 <https://github.com/openedx/openedx-proposals/pull/119>`_
Loading