public function unApplyMigration($state, $migration, $fake = false)
    {
        Console::stdout(sprintf(' UnApplying %s...', $migration->getName()));
        if (!$fake) {
            $state = $migration->unApply(
                $state,
                $this->connection->getSchemaEditor()
            );
        }

        $this->recorder->recordUnApplied(
            [
                'name' => $migration->getName(),
                'app' => $migration->getAppLabel(),
            ]
        );

        if ($fake) {
            $end = Console::ansiFormat('FAKED', [Console::FG_GREEN]);
        } else {
            $end = Console::ansiFormat('OK', [Console::FG_GREEN]);
        }

        Console::stdout($end.PHP_EOL);

        return $state;
    }