简体   繁体   中英

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.

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"]
  ...
]);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM