From a74a7497ad5b008c76ebb28981a844849dcb6e72 Mon Sep 17 00:00:00 2001 From: David Wobrock Date: Tue, 30 Jul 2019 10:05:11 +0200 Subject: [PATCH] Catch exception if sqlmigrate fails Because of missing constraint that Django cannot find and therefore drop. --- django_migration_linter/migration_linter.py | 25 +++++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/django_migration_linter/migration_linter.py b/django_migration_linter/migration_linter.py index ac83aa1..b4a4297 100644 --- a/django_migration_linter/migration_linter.py +++ b/django_migration_linter/migration_linter.py @@ -199,13 +199,24 @@ class MigrationLinter(object): "Calling sqlmigrate command {} {}".format(app_label, migration_name) ) dev_null = open(os.devnull, "w") - sql_statement = call_command( - "sqlmigrate", - app_label, - migration_name, - database=self.database, - stdout=dev_null, - ) + try: + sql_statement = call_command( + "sqlmigrate", + app_label, + migration_name, + database=self.database, + stdout=dev_null, + ) + except ValueError: + logger.warning( + ( + "Error while executing sqlmigrate on (%s, %s). " + "Continuing execution with empty SQL." + ), + app_label, + migration_name, + ) + sql_statement = "" return sql_statement.splitlines() def _gather_migrations_git(self, git_commit_id):