최근 몇 가지 설정 마이그레이션을 확인했는데(가장 최근의 예는 automatic_backups_enabled 제거) 마이그레이션이 새 값을 계산하기 위해 데이터베이스 값만을 사용하고 있습니다. 이는 app.yml를 통해 discourse.conf에서 설정된 값을 무시하게 됩니다.
코드:
INSERT INTO site_settings (name, data_type, value, created_at, updated_at)
SELECT 'backup_frequency', 3, NULL, 'NOW()', 'NOW()'
WHERE EXISTS (
SELECT 1
FROM site_settings
WHERE name = 'automatic_backups_enabled'
AND VALUE = 'f'
LIMIT 1
)
ON CONFLICT (name) DO UPDATE SET value = NULL, updated_at = 'NOW()';
이 코드는 discourse.conf의 automatic_backups_enabled = false를 무시하므로, 해당 설정이 존재하는 경우에도 백업이 비활성화된 상태로 유지되지 않습니다.
이 특정 사례는 이미 지나갔지만, 전역적으로 오버라이드된 설정에서 이 패턴이 문제를 일으킬 수 있다는 점을 염두에 두는 것이 좋을 것입니다.