BEGIN;

DO $$
DECLARE
    table_name text;
BEGIN
    FOREACH table_name IN ARRAY ARRAY[
        'hr_payroll.payslips',
        'hr_payroll.employee_leave_balances',
        'hr_payroll.leave_requests',
        'hr_payroll.attendance_logs',
        'hr_payroll.attendance_exceptions',
        'hr_payroll.attendance_adjustments',
        'hr_payroll.employee_documents',
        'hr_payroll.employee_loans',
        'hr_payroll.onboarding_cases',
        'hr_payroll.onboarding_tasks',
        'hr_payroll.onboarding_documents',
        'hr_payroll.employee_self_service_change_requests',
        'hr_payroll.employee_data_requests',
        'hr_payroll.performance_reviews',
        'hr_payroll.performance_review_categories',
        'hr_payroll.performance_kpis',
        'hr_payroll.employee_feedback',
        'hr_payroll.training_enrollments',
        'hr_payroll.training_certifications'
    ]
    LOOP
        IF to_regclass(table_name) IS NOT NULL THEN
            EXECUTE format(
                'ALTER TABLE %s ADD COLUMN IF NOT EXISTS is_deleted boolean NOT NULL DEFAULT FALSE',
                table_name
            );
        END IF;
    END LOOP;
END $$;

COMMIT;
