Я работаю над приложением SaaS, где каждый клиент будет иметь разные конфигурации в зависимости от приобретенной им версии, дополнительных функций, которые они приобрели, и т. Д. Например, у клиента может быть предел 3 пользовательских отчета.Лучший способ управления данными конфигурации
Очевидно, что я хочу сохранить эту конфигурацию в базе данных, но я не уверен в лучшем подходе. Мы хотим иметь возможность добавлять дополнительные функции в будущем, не требуя изменения схемы базы данных, поэтому одна таблица с параметром столбца для каждой конфигурации не является разумной.
Возможные варианты: таблица с одной записью для каждого клиента с полем XML, содержащим всю конфигурацию для этого клиента, но которая добавляет сложности при изменении схемы XML для добавления дополнительных функций.
Мы могли бы использовать таблицу с парами значений ключей и сохранять все параметры конфигурации в виде строк, а затем анализировать их с правильным типом данных, но это похоже на кладку, также как и отдельную таблицу для параметров конфигурации строки, целочисленные параметры конфигурации и т. д.
Есть ли хороший шаблон для этого типа сценариев, которые люди используют?