Commit dfa7c5ca authored by Andrew Godwin's avatar Andrew Godwin
Browse files

Allow retrieval of project state at start of migrations

parent 05929ee8
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -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)