From dfa7c5cade318ce113a95e12cae47c446604e993 Mon Sep 17 00:00:00 2001 From: Andrew Godwin Date: Thu, 30 May 2013 17:56:26 +0100 Subject: [PATCH] Allow retrieval of project state at start of migrations --- django/db/migrations/graph.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/django/db/migrations/graph.py b/django/db/migrations/graph.py index 8e2446ca991..620534bc223 100644 --- a/django/db/migrations/graph.py +++ b/django/db/migrations/graph.py @@ -120,11 +120,14 @@ class MigrationGraph(object): def __str__(self): return "Graph: %s nodes, %s edges" % (len(self.nodes), sum(len(x) for x in self.dependencies.values())) - def project_state(self, node): + def project_state(self, node, at_end=True): """ Given a migration node, returns a complete ProjectState for it. + If at_end is False, returns the state before the migration has run. """ plan = self.forwards_plan(node) + if not at_end: + plan = plan[:-1] project_state = ProjectState() for node in plan: project_state = self.nodes[node].mutate_state(project_state)