unable to delete orphaned settings

Member since: 2010

I have had a bug in my code which erroneously added settings to the SettingsRepository using the following code (simplified):

var propertySettingsRepository = ServiceLocator.Current.GetInstance<IPropertySettingsRepository>();
var newSettings = new PropertyMediaSettings()
var settings = new PropertySettingsWrapper(Name, string.Empty, true, false, newSettings);
var settingsContainer = new PropertySettingsContainer(settingsId)
settingsContainer.AddSettings(settings);
propertySettingsRepository.Save(settingsContainer);

My problem is that i have lost all refernce to the settingscontainer, but this code ran enough times to build up a really big table of data.

How can I delete all this data? I cannot find any method to enumerate all existing settings using IPropertySettingsRepository


#142396 Dec 10, 2015 13:36
  • Member since: 2006

    Have a look in tblSystemBigTable in the database and see if you can find them there.

    #142560 Dec 14, 2015 17:02
  • Member since: 2009

    You can try using the Geta's DDSAdmin addon.

    Both PropertySettingsContainer and PropertySettingsWrapper are stored in tblSystemBigTable through PropertySettingsRepository which calls the underlying DDS store, this means you can use DynamicDataStore to enumerate all existing settings by yourself.

    #142582 Dec 15, 2015 3:44
  • Member since: 2010

    Thanks, I found hte settings in the DynamicDataStore (using the Geta tool).

    However when I tried to delete the settings my database somehow got corrupt and the page properties using the deleted settings was no longer editable. (Object Reference Error).

    I probably should make sure I did not use any of the settings before deleting them. Also I'm conserned that while I can delete the settings , the settingsWtrappers and SettingsContainers will still linger somewhere in the database.

    Is it possible to get the wrapper or container from the settings (using the id)?

     

    #142588 Dec 15, 2015 10:34