update
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use Illuminate\Database\Seeder;
|
||||
use App\Models\OsGroup;
|
||||
use App\Models\Os;
|
||||
|
||||
class OsSeeder extends Seeder
|
||||
{
|
||||
public function run(): void
|
||||
{
|
||||
/**
|
||||
* OS Groups + Versions
|
||||
*/
|
||||
$data = [
|
||||
[
|
||||
'name' => 'Ubuntu',
|
||||
'thumbnail' => 'ubuntu.png',
|
||||
'module_host_id' => 1,
|
||||
'status' => 1,
|
||||
'versions' => [
|
||||
'20.04 LTS',
|
||||
'22.04 LTS',
|
||||
'24.04 LTS',
|
||||
],
|
||||
],
|
||||
[
|
||||
'name' => 'CentOS',
|
||||
'thumbnail' => 'centos.png',
|
||||
'module_host_id' => 1,
|
||||
'status' => 1,
|
||||
'versions' => [
|
||||
'7',
|
||||
'8 Stream',
|
||||
],
|
||||
],
|
||||
[
|
||||
'name' => 'Debian',
|
||||
'thumbnail' => 'debian.png',
|
||||
'module_host_id' => 1,
|
||||
'status' => 1,
|
||||
'versions' => [
|
||||
'10',
|
||||
'11',
|
||||
'12',
|
||||
],
|
||||
],
|
||||
[
|
||||
'name' => 'Windows Server',
|
||||
'thumbnail' => 'windows.png',
|
||||
'module_host_id' => 1,
|
||||
'status' => 1,
|
||||
'versions' => [
|
||||
'2016',
|
||||
'2019',
|
||||
'2022',
|
||||
],
|
||||
],
|
||||
];
|
||||
|
||||
foreach ($data as $groupData) {
|
||||
|
||||
/**
|
||||
* Create or Update OS Group
|
||||
*/
|
||||
$group = OsGroup::updateOrCreate(
|
||||
['name' => $groupData['name']],
|
||||
[
|
||||
'thumbnail' => $groupData['thumbnail'],
|
||||
'module_host_id' => $groupData['module_host_id'],
|
||||
'status' => $groupData['status'],
|
||||
]
|
||||
);
|
||||
|
||||
/**
|
||||
* Create OS versions
|
||||
*/
|
||||
foreach ($groupData['versions'] as $version) {
|
||||
Os::updateOrCreate(
|
||||
[
|
||||
'os_group_id' => $group->id,
|
||||
'version' => $version,
|
||||
],
|
||||
[
|
||||
'template_id' => null,
|
||||
'status' => 1,
|
||||
]
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user