37 lines
1.3 KiB
PHP
37 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use App\Models\Tenant;
|
|
use App\Models\VendingMachine;
|
|
use App\Models\Product;
|
|
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
|
use Illuminate\Database\Seeder;
|
|
|
|
class AssignExistingDataToTenantsSeeder extends Seeder
|
|
{
|
|
/**
|
|
* Run the database seeds.
|
|
*/
|
|
public function run(): void
|
|
{
|
|
// Hole den ersten Mandanten (Bürogebäude A)
|
|
$tenant = Tenant::where('slug', 'buerogebaeude-a')->first();
|
|
|
|
if (!$tenant) {
|
|
$this->command->error('Mandant "Bürogebäude A" nicht gefunden. Bitte zuerst TenantSeeder ausführen.');
|
|
return;
|
|
}
|
|
|
|
// Weise alle Automaten ohne tenant_id dem ersten Mandanten zu
|
|
$machinesUpdated = VendingMachine::whereNull('tenant_id')->update(['tenant_id' => $tenant->id]);
|
|
$this->command->info("$machinesUpdated Automaten wurden Mandant '{$tenant->name}' zugewiesen.");
|
|
|
|
// Weise alle Produkte ohne tenant_id dem ersten Mandanten zu
|
|
$productsUpdated = Product::whereNull('tenant_id')->update(['tenant_id' => $tenant->id]);
|
|
$this->command->info("$productsUpdated Produkte wurden Mandant '{$tenant->name}' zugewiesen.");
|
|
|
|
$this->command->info('Alle existierenden Daten wurden erfolgreich einem Mandanten zugewiesen.');
|
|
}
|
|
}
|