App Key rotation and migrating records in the DB without the hassles of waiting for everything to update.
You can install the package via composer:
composer require teqnifii/laravel-key-migration
Make sure your models are using the cast type
encrypted
for the fields you want to encrypt:
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class YourClass extends Model
{
protected $casts = [
'your_column' => 'encrypted',
];
}
For more information on the encrypted
cast, see the Laravel documentation.
This package contains two commands, key:rotate
and key:migrate
.
This command will rotate the application key, and update the APP_KEY
in the .env
file, while putting the old key in the APP_PREVIOUS_KEYS
variable.
You will have to still run
config:clear
after to clear any cached configurations.
This command will migrate the records in the database from the old key to the new key. It will look for the APP_PREVIOUS_KEYS
variable in the .env
file, and use the old keys to migrate the records.
composer test
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.