feat(commands): add sync schema config tool#7689
Merged
acwhite211 merged 16 commits intomainfrom Mar 18, 2026
Merged
Conversation
Triggered by 38a8223 on branch refs/heads/issue-7564
Member
Author
|
@acwhite211 Your thoughts on this would be appreciated! |
Triggered by 78735aa on branch refs/heads/issue-7564
acwhite211
approved these changes
Feb 23, 2026
Member
acwhite211
left a comment
There was a problem hiding this comment.
Nice job! Looks good. I added a commit to make it a little more efficient with bulk fetching. No problems during testing, the Django command seems to be able to accomplish it's goal.
Triggered by 034cf6e on branch refs/heads/issue-7564
Triggered by b06203c on branch refs/heads/issue-7564
alesan99
approved these changes
Mar 17, 2026
Contributor
alesan99
left a comment
There was a problem hiding this comment.
- Identify the discipline ID for any discipline in a database
- Inside the container, run the following, replacing
13with the ID of the discipline you wish to test this on- See all missing tables and fields:
- Create all missing table and field records for the schema config:
- Create all missing table and field records for the schema config with logging for each addition:
Identifies missing schema and confirms its been added once its run with --apply 👍👍

specifyweb/frontend/js_src/lib/components/TreeView/CreateTree.tsx
Outdated
Show resolved
Hide resolved
Removed console log for missing ranks check.
CarolineDenis
approved these changes
Mar 18, 2026
5 tasks
Triggered by e80de21 on branch refs/heads/issue-7564
acwhite211
approved these changes
Mar 18, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #7564 and starts to fix #7426
Adds a tool to create new schema config records for tables and fields present in the data model that do not have schema records.
This still needs to be invoked in a migration (or ideally when we run the 'self-heal' function)...
sync_schema_config_fields.pyto identify (and create if) missing schema config tables and fields for a given discipline. Can be run in verbose mode to see every addition, and can identify without immediately adding.find_missing_schema_config_fieldsandcreate_missing_schema_config_fieldsinupdate_schema_config.pyto support the management command and allow programmatic access to these operations.It should look something like this (plus many
{table}Idfields):Checklist
self-explanatory (or properly documented)
Testing instructions
13with the ID of the discipline you wish to test this on