Подход к обновлению конфигурации приложения - PullRequest
0 голосов
/ 14 июля 2010

Мое приложение имеет конфигурацию на основе xml.Имеется также файл xsd.Перед запуском моего приложения xmllint проверит конфигурацию по файлу xsd.

С ростом моего приложения структура конфигурации немного изменилась.Теперь я столкнулся с этой проблемой: когда я предоставляю клиенту новую версию своего приложения, я должен обновить существующую конфигурацию.

Как сделать это простым и умным?

Моя идея состоит в том, чтобы создать объект конфигурации с использованием python, а затем прочитать конфигурацию v1 из файла и сохранить ее как v2.Но если позже структура снова изменится, мне придется построить другую модель объекта конфигурации.

1 Ответ

1 голос
/ 14 июля 2010

Для всех параметров конфигурации, которые остаются неизменными между конфигурациями, попросите ваш скрипт установки скопировать их из старого файла конфигурации, если он существует. В остальном просто установите некоторые значения по умолчанию, которые пользователь может изменить при необходимости, как обычно для файла конфигурации. Если я не понял вопрос, похоже, что вы делаете из этого нечто большее, чем нужно.

Кстати, вам действительно нужен только один скрипт "Updater", потому что вы можете параметризовать теги XML так, чтобы они проходили через ваш новый файл конфигурации / файл конфигурации, а затем просто проверяли теги в старом файле. против этого и скопируйте данные из тех, которые присутствуют в новом файле. Я раньше не работал с XSD-файлами, поэтому не знаю специфики работы с ними, но не думаю, что это должно быть так сложно.

...