Hello,
We are working on a custom metadata block where we've had to change the key/value of some controlled terms in it a few times. This is in our test environment.
There are points where we've changed the controlled vocabs key and I suspect the old original key/value set is still in the database, as we are still seeing the old values in the UI as options.
I think I need to do some database cleanup. Is that the best way to address this?
I see these tables... are there others I need to touch? datasetfield_controlledvocabularyvalue
controlledvocabularyvalue
Also, would having an identifier on these terms have helped prevent the duplication? (we didn't have an identifer, but could add them)
Thanks!
Bethany
I don't have any concrete suggestions apart from how https://guides.dataverse.org/en/latest/schemaspy/ might help you understand the datatabase schema. Be sure to look at the one for your version such as https://guides.dataverse.org/en/6.6/schemaspy/
Thanks, Phil! That schemaspy is superhelpful. Definitely doing a db backup before hand!
Do you know if having identifiers would have helped us here? I suspect it might have, but am not sure how the code adds metadata blocks.
I think so but I'm not 100% sure. I do believe the identifiers are there for just this reason. Just a number like 7 or whatever that doesn't change while the string changes.
Thanks - do the identifiers just need to be unique among the controlled vocab or all vocabs? I'm guessing just the one they are apart of?
Should be just the ones they're part of.
Last updated: Oct 30 2025 at 06:21 UTC