Я пытаюсь определить лучшую модель базы данных для текущей настройки:
Администратор может создавать «продукты клиента». Это означает услуги / продукты, к которым клиент может прикрепить / подписаться. Простые случаи, когда продукт просто стоит своей цены, или подписка на продукт должна отправить электронное письмо, легко смоделировать в базе данных.
Но как насчет очень специфического внутреннего кода для продукта клиента? Например, один продукт может иметь очень специфический код, реализованный для проверки статуса клиента в другой базе данных. Как я могу отобразить эту связь в базе данных, чтобы я мог включить / выключить некоторый код на основе настроек продукта.
Мой интуитивно понятный способ работы с этим состоял бы в том, чтобы в таблице CustomerProducts имелся строковый столбец, в котором можно было бы задать предопределенный набор строк, например, «MyCustomCodeHandler», а затем код проверяет наличие этой строки, чтобы выполнить ее. Но для меня это не похоже на реальные отношения между базой данных и кодом.