public function projectSetupExisting($opts = [
        'db-name' => null,
        'db-user' => null,
        'db-pass' => null,
        'db-host' => null,
        'db-port' => null,
        'db-protocol' => null,
        'no-engine' => false,
        'no-browser' => false,
        'restore-method' => null,
        'localhost' => false,
    ])
    {
        $this->executeCommandHook(__FUNCTION__, 'before');
        $database = Database::createFromArray([
            'port' => $opts['db-port'],
            'user' => $opts['db-user'],
            'password' => $opts['db-pass'],
            'database' => $opts['db-name'],
            'hostname' => $opts['db-host'],
            'protocol' => $opts['db-protocol']
        ]);
        $this->projectInstance()
            ->setDatabaseOverride($database)
            ->setupExistingProject(
                $opts['no-engine'],
                $opts['restore-method'],
                $opts['no-browser'],
                $opts['localhost']
            );
        $this->executeCommandHook(__FUNCTION__, 'after');
    }