Skip to content

Commit

Permalink
make sure _compare database gets cleaned up if errors occur
Browse files Browse the repository at this point in the history
  • Loading branch information
Ivo van der Wijk committed Oct 4, 2012
1 parent d6383b5 commit f4ee5bf
Showing 1 changed file with 10 additions and 8 deletions.
18 changes: 10 additions & 8 deletions nashvegas/management/commands/comparedb.py
Expand Up @@ -74,14 +74,16 @@ def handle(self, *args, **options):
self.setup_database()
connections[self.db].close()
connections[self.db].settings_dict["NAME"] = self.compare_name
call_command("syncdb", interactive=False, verbosity=0)
new_sql = Popen(
command.format(dbname=self.compare_name).split(),
stdout=PIPE
).stdout.readlines()
connections[self.db].close()
connections[self.db].settings_dict["NAME"] = self.current_name
self.teardown_database()
try:
call_command("syncdb", interactive=False, verbosity=0)
new_sql = Popen(
command.format(dbname=self.compare_name).split(),
stdout=PIPE
).stdout.readlines()
finally:
connections[self.db].close()
connections[self.db].settings_dict["NAME"] = self.current_name
self.teardown_database()

print "Outputing diff between the two..."
print "".join(difflib.unified_diff(normalize_sql(current_sql),
Expand Down

0 comments on commit f4ee5bf

Please sign in to comment.