diff --git a/backend-compliance/migration_runner.py b/backend-compliance/migration_runner.py index 8afb211..e275a90 100644 --- a/backend-compliance/migration_runner.py +++ b/backend-compliance/migration_runner.py @@ -79,6 +79,7 @@ def run_migrations(): logger.info("%d pending migrations (of %d total)", len(pending), len(migration_files)) + failed = [] for migration_file in pending: logger.info("Applying migration: %s", migration_file.name) try: @@ -96,11 +97,14 @@ def run_migrations(): except Exception as e: raw_conn.rollback() logger.error(" FAILED: %s — %s", migration_file.name, e) - raise RuntimeError( - f"Migration {migration_file.name} failed: {e}" - ) from e + failed.append((migration_file.name, str(e))) + # Continue with remaining migrations instead of aborting - logger.info("All migrations applied successfully") + if failed: + names = ", ".join(f[0] for f in failed) + logger.error("Some migrations failed: %s", names) + else: + logger.info("All migrations applied successfully") finally: raw_conn.close()