diff --git a/src/sentry/backup/imports.py b/src/sentry/backup/imports.py index 95cf59934df4f4..1d183cdc6a9c70 100644 --- a/src/sentry/backup/imports.py +++ b/src/sentry/backup/imports.py @@ -167,15 +167,18 @@ def _import( errs = {field: error for field, error in e.message_dict.items()} raise DjangoRestFrameworkValidationError(errs) from e - sequence_reset_sql = StringIO() - + sql = StringIO() + err = StringIO() for app in apps.get_app_configs(): - management.call_command( - "sqlsequencereset", app.label, "--no-color", stdout=sequence_reset_sql - ) - + management.call_command("sqlsequencereset", app.label, "--no-color", stdout=sql, stderr=err) with connection.cursor() as cursor: - cursor.execute(sequence_reset_sql.getvalue()) + cursor.execute(sql.getvalue()) + + errored = "\n".join( + [li for li in err.getvalue().splitlines() if "No sequences found." not in li] + ).strip() + if errored: + raise ValueError(f"Encountered SQL errors:\n\n {errs}") def import_in_user_scope(