string('slug', 180); }); $slugMap = []; DB::table('users')->cursor()->each(function ($user) use (&$slugMap) { $userSlug = Str::slug($user->name); while (isset($slugMap[$userSlug])) { $userSlug = Str::slug($user->name . Str::random(4)); } $slugMap[$userSlug] = true; DB::table('users') ->where('id', $user->id) ->update(['slug' => $userSlug]); }); Schema::table('users', function (Blueprint $table) { $table->unique('slug'); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::table('users', function (Blueprint $table) { $table->dropColumn('slug'); }); } };