Я застрял в этой ситуации: у меня есть таблица основных системных настроек, в которой хранятся все системные значения по умолчанию.Примером по умолчанию является английский язык.фильтр по умолчанию должен иметь ограничение по возрасту для фильтрации пользовательского контента и т. д. На данный момент существует около 40 различных значений, которые нужно поддерживать.
Теперь все эти значения хранятся в нескольких таблицах поиска, а также в основной записи field_value.стол, в котором есть все маленькие поиски.Языковые коды находятся в таблице соответствия языков.Фильтр возраста имеет свою собственную таблицу поиска и многие другие.Все другие меньшие настройки находятся в таблице field_value.
Поэтому мне нужно ссылаться на поле setting_value для всех этих таблиц, если только у меня нет 1 столбца на настройку, а остальные значения равны NULL.
В настоящее время мойэто схема
CREATE TABLE `settings` (
`setting_id` int(6) NOT NULL,
`description` varchar(32) NOT NULL,
`code` int(6) DEFAULT NULL,
`created` datetime NOT NULL,
`updated` timestamp DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`setting_id`),
KEY `code` (`code`),
CONSTRAINT `settings_ibfk_1` FOREIGN KEY (`code`) REFERENCES `field_values` (`fv_id`) ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
И она не работает для обработки настроек из нескольких таблиц в системе.