src/Db/Migration.php
protected function execPromise($cmdPromise, $description)
    {
        return $this->beginCommandLazy($description)->thenLazy(
            function($time) use ($cmdPromise) {
                if (is_array($cmdPromise)) {
                    $cmdPromise = allInOrder($cmdPromise);
                }
                return $cmdPromise->always(function() use ($time) {
                    return $this->endCommand($time);
                });
            }
        );
    }
protected function execPromise($cmdPromise, $description)
    {
        return $this->beginCommandLazy($description)->thenLazy(
            function($time) use ($cmdPromise) {
                if (is_array($cmdPromise)) {
                    $cmdPromise = allInOrder($cmdPromise);
                }
                return $cmdPromise->always(function() use ($time) {
                    return $this->endCommand($time);
                });
            }
        );
    }
Execute command promise with description printing and time elapsed

@param ExtendedPromiseInterface|ExtendedPromiseInterface[] $cmdPromise
@param string $description
@return LazyPromiseInterface