"config_backend" should be thoroughly removed
Overview
In CiviCRM 4.7.0, the column civicrm_domain.config_backend
was migrated to the civicrm_setting
table. However, the migration was incomplete.
Reproduction steps
- Create a new site (e.g.
civibuild create dmaster
) - Run
DESC civicrm_domain
- Observe that column
config_backend
exists
Current behaviour
- If a site upgrades from
$ver <= 4.6
, then the columncivicrm_domain.config_backend
does NOT exist. - If a new site is created in
4.7 <= $ver <= 5.21
, then the columncivicrm_domain.config_backend
DOES exist.
Expected behaviour
The column should not exist in v5.21 (or whatever gets the fix). It should not matter if the site originated on v4.5, v4.7, or v5.20.
Comments
Historically, this field is related to CRM_Core_BAO_ConfigSetting
. One should grep on both config_backend
and ConfigSetting
to track down code-paths that may be referencing it.
It is still desirable to retain upgrade/transitional logic (eg CRM_Upgrade_Incremental_php_FourSeven
, Civi\Core\SettingsBag
); but otherwise these should be removed, and any dependent code-paths should be re-tested.