Skip to content

Refactoring the DRS schema#14

Merged
daisieh merged 8 commits intodevelopfrom
daisieh/refactor
Feb 6, 2026
Merged

Refactoring the DRS schema#14
daisieh merged 8 commits intodevelopfrom
daisieh/refactor

Conversation

@daisieh
Copy link
Copy Markdown
Member

@daisieh daisieh commented Feb 6, 2026

I realized that I created many extra schema components related to DataDrsObjects and ContentsObjects that are not actually different from each other and just confusing to look at or comprehend.
Fundamentally, it is simpler to consider it this way:

  • DrsObjects have ContentsObjects in them; all these do is to hold the link to the linked DrsObjects that are the actual "contents" of the object. There don't need to be subtypes of ContentsObjects.
  • DrsObjects that describe data files are all the same sort of DataDrsObject. They don't have ContentsObjects but do have AccessMethods.

This version consolidates the following:

  • AnalysisIndexContentsObject, AnalysisDataContentsObject, AnalysisContentsObject, and ExperimentContentsObject into one ContentsObject
  • AnalysisDataDrsObject and AnalysisIndexDrsObject into DataDrsObject

You can check this by recomposing drs on a clean build and running the integration tests to see that ingest is not affected.

I can also confirm that I dumped the drs database on a build without these changes and then a build with these changes, and both were identical.

@daisieh daisieh requested a review from mshadbolt February 6, 2026 06:14
Copy link
Copy Markdown
Contributor

@mshadbolt mshadbolt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Works with clean rebuild and doesn't seem to affect any functionality

Seems like a good simplification

@daisieh daisieh merged commit a6715da into develop Feb 6, 2026
@daisieh daisieh deleted the daisieh/refactor branch February 6, 2026 21:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants