Разрешение конфликта версий при обновлении софта
Конфликт версий: код требует параметр, отсутствующий в сохраненной версии. Например, одна версия фильтра сохранила свои настройки,
а другая, более новая, пытается прочесть несуществующий ключ.
Другой вариант - несуществующее поле (убранное в очередной версии) - этот конфликт проявится только при запросе к БД.
Варианты решения
- создание параметра с дефолтными значениями при запросе (во все запросы добавить значения по умолчанию). Недостаток - возможно создание помойки
- контроль номера версии. Выглядит сложным в сопровождении
*** Возможно, это была плохая идея - разрешить доступ по длинному ключу. Когда доставали и записывали целиком объект, было меньше возможностей для ошибок
--->
select settings from usr where usr_id='#request.usr_id#'
Err:
#cfcatch.message#
select count(*) as cnt from usr_serrings where usr_id=
insert int usr_settings (usr_id, settings)
values(, )
update usr_settings
set settings=
where usr_id=