def _run_down(self, path, migration, pretend=False):
        """
        Run "down" a migration instance.
        """
        migration_file = migration["migration"]

        instance = self._resolve(path, migration_file)

        if pretend:
            return self._pretend_to_run(instance, "down")

        if instance.transactional:
            with instance.db.transaction():
                instance.down()
        else:
            instance.down()

        self._repository.delete(migration)

        self._note(
            decode("[<info>OK</>] <info>Rolled back</info> ")
            + "<fg=cyan>%s</>" % migration_file
        )
Run "down" a migration instance.