diff --git a/DOCUMENTATION/DEVELOPERS/defaults.md b/DOCUMENTATION/DEVELOPERS/defaults.md new file mode 100644 index 0000000000..50405403ae --- /dev/null +++ b/DOCUMENTATION/DEVELOPERS/defaults.md @@ -0,0 +1,3 @@ +In the `dev` environment, the default values for the config table are reloaded on each HTTP request + +In case you want to override this, add `SOCIAL_NO_RELOAD_DEFAULTS=1` to your .env.local file diff --git a/src/Core/DB/DefaultSettings.php b/src/Core/DB/DefaultSettings.php index 2bbe4a044d..74a28a3890 100644 --- a/src/Core/DB/DefaultSettings.php +++ b/src/Core/DB/DefaultSettings.php @@ -274,7 +274,7 @@ abstract class DefaultSettings 'login_command' => ['enabled' => false], ]; - self::loadDefaults(!$_ENV['APP_DEBUG']); + self::loadDefaults($_ENV['APP_ENV'] == 'prod'); } public static function loadDefaults(bool $optimize = false) @@ -283,9 +283,9 @@ abstract class DefaultSettings return; } - // In debug mode, delete everything and reinsert, in case + // In dev mode, delete everything and reinsert, in case // defaults changed - if ($_ENV['APP_DEBUG']) { + if ($_ENV['APP_ENV'] === 'dev' && !isset($_ENV['SOCIAL_NO_RELOAD_DEFAULTS'])) { DB::getConnection()->executeQuery('delete from config;'); }