Dhaval Chheda
Dhaval Chheda

Reputation: 5167

Password migration from laravel 5.0 to laravel 5.6

I am trying to migrate a database from Laravel 5.0 to Laravel 5.6, but when I am transferring the users table the password column does not get passed as it was before (I am assuming Laravel is hashing this again)

before :- $2y$10$KPCJK7wZ5lHdFMw7y3fchO3qXBvEuqS8wXzvH6vanETH5Pe7CBWVG
after :- $2y$10$B7hp5fGX6amcb.CBAnf8TeDxNAxwh5YAxOomi.AEsKfcdf7ovkxTy

I need some way to prevent Laravel from hashing the password. I am doing this to migrate my users table:

$user = new User;
$user->password = $request['password'];
$user->save();

I was using User::create() before but it had the same issue.

I am really confused and stuck and any advice on this will be really helpful.

Upvotes: 2

Views: 62

Answers (1)

Tim Lewis
Tim Lewis

Reputation: 29288

It sounds like the User model automatically Hashes whatever value is passed into password, regardless if it has already Hashed. I'm unsure if there's a direct way to disable this behaviour (likely is, but not sure what User is - Basic Laravel Auth, Sentinel, Spatie, etc. etc.), so a workaround is to use the DB facade to get around the User model:

DB::table("users")->insert([
  "password" => $request->input("password"), // or $request["password"]
  ...
]);

Upvotes: 3

Related Questions