Обычно программный продукт состоит не только из объектов клиента и схемы, но и из данных;как правило, его называют «статическими данными», т. е. это данные, которые должны изменяться только разработчиком программного обеспечения и обычно не могут быть изменены конечными пользователями.
Если конечные пользователи обходят ваши средства управления безопасностью и изменяют/ удалите статические данные, затем вам необходимо:
- написать код, который обнаруживает и компенсирует любые изменения, которые мог сделать конечный пользователь;например, стереть таблицы и заполнить их данными «заведомо хороших»;
- получить образцы модификаций от ваших клиентов, чтобы вы могли вручную написать собственные сценарии обновления для них, не затрагивая их настройки;или
- не разрешать изменение статических данных (т. е. если они настраивают продукт, изменяя данные, которые им не следует, вы говорите: «Извините, вы изменили продукт, мы вас не поддерживаем».
Из вашего описания, однако, похоже, что ваш продукт предназначен для того, чтобы клиенты могли настраивать его, изменяя данные в этих таблицах, и в этом случае ваш код просто должен быть в состоянии адаптироваться к любым изменениям, которые ониЭто должно быть основополагающим фактором при разработке обновления. Стратегия состоит в том, чтобы перечислять все типы изменений, которые пользователи могли внести (или могут сделать), и учитывать их. Единственное жизнеспособноеальтернатива # 1 выше, которая удаляет все настройки.