У меня есть задача расширить свое веб-приложение, чтобы предоставить пользователям возможность сегментировать свои собственные данные (т.е. выбирать свои собственные поля и добавлять свои критерии, используя И/Или и т. д.), поэтому я создаю что-то похожее на инструмент построения запросов, но более легкий . На данный момент я не беспокоюсь о внешнем интерфейсе, я просто пытаюсь сосредоточиться на том, как это сделать в бэкэнде.
Пока я думаю только о том, чтобы сохранить их «Сегмент» в виде XML-документа (сериализованного в БД), который содержит все их столбцы и критерии и то, как они сопоставляются с базой данных, а затем, когда вызывается сегмент, у меня есть класс сопоставления который десериализует этот XML-документ, сопоставляет поля и создает для этого запрос SQL, а затем возвращает результаты запроса. Проблема, которую я вижу в этом, заключается в том, что если настройка базы данных изменится (вероятно), тогда у меня есть сериализованный XML-документ, который ничего не знает об этих изменениях.
Кто-нибудь сталкивался с похожей ситуацией?