shouldSkip($request)) { return $next($request); } // Check if app needs installation if ($this->needsInstallation()) { return redirect()->route('install'); } return $next($request); } protected function shouldSkip(Request $request): bool { foreach ($this->except as $pattern) { if ($request->is($pattern)) { return true; } } return false; } protected function needsInstallation(): bool { try { // Check if users table exists and has at least one user if (! Schema::hasTable('users')) { return true; } // Check if any users exist return \DB::table('users')->count() === 0; } catch (\Exception $e) { // Database connection failed - needs installation return true; } } }