Migration: Trim api key length before down migration
This commit is contained in:
parent
39dbfabea7
commit
f3347ba140
|
@ -6,6 +6,7 @@ namespace Engelsystem\Migrations;
|
|||
|
||||
use Engelsystem\Database\Migration\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
class ChangeApiKeyLength extends Migration
|
||||
{
|
||||
|
@ -24,6 +25,19 @@ class ChangeApiKeyLength extends Migration
|
|||
*/
|
||||
public function down(): void
|
||||
{
|
||||
$connection = $this->schema->getConnection();
|
||||
$data = $connection->table('users')->get(['id', 'api_key']);
|
||||
foreach ($data as $user) {
|
||||
if (Str::length($user->api_key) <= 32) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$key = Str::substr($user->api_key, 0, 32);
|
||||
$connection->table('users')
|
||||
->where('id', $user->id)
|
||||
->update(['api_key' => $key]);
|
||||
}
|
||||
|
||||
$this->schema->table('users', function (Blueprint $table): void {
|
||||
$table->string('api_key', 32)->change();
|
||||
});
|
||||
|
|
Loading…
Reference in New Issue