🐛 Fix: Resolve PostgreSQL backup failures for large databases (#3325)

Problem

  • Large database backups (40GB+) were failing with “Attempt to read property ‘settings’ on null” error
  • Issue occurred when instance_settings table had missing or incomplete records
  • Backup jobs would crash during initialization

Solution

  • InstanceSettings Model: Auto-creates missing records with proper defaults
  • DatabaseBackupJob: Added 2-hour timeout and fallback error handling
  • Console Kernel: Added try-catch for scheduler initialization
  • ProductionSeeder: Ensures helper_version is properly set during Docker startup

Files Changed

  • app/Models/InstanceSettings.php - Auto-creation logic
  • app/Jobs/DatabaseBackupJob.php - Timeout and error handling
  • app/Console/Kernel.php - Scheduler error handling
  • database/seeders/ProductionSeeder.php - Proper initialization
  • database/migrations/2024_09_05_085700_add_helper_version_to_instance_settings.php - Updated default version

Breaking Changes

None. This is a backward-compatible fix.

Additional Notes

  • Enhanced logging for better debugging
  • Added PostgreSQL compression for large backups
  • Improved backup file verification

Fixes #3325

/claim #3325

Claim

Total prize pool $500
Total paid $0
Status Pending
Submitted July 14, 2025
Last updated July 14, 2025

Contributors

RI

Rishi Mondal

@MAVRICK-1

100%

Sponsors

DE

Deniz Genctürk

@isokosan

$500