wip
This commit is contained in:
67
database/seeders/ChannelTableSeeder.php
Normal file
67
database/seeders/ChannelTableSeeder.php
Normal file
@@ -0,0 +1,67 @@
|
||||
<?php
|
||||
|
||||
namespace Database\Seeders;
|
||||
|
||||
use App\Models\Ecommerce\Channel\Channel;
|
||||
use File;
|
||||
use Illuminate\Database\Seeder;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class ChannelTableSeeder extends Seeder
|
||||
{
|
||||
/**
|
||||
* Run the database seeds.
|
||||
*/
|
||||
public function run(): void
|
||||
{
|
||||
$this->seedOldData();
|
||||
}
|
||||
|
||||
/**
|
||||
* Started kit
|
||||
*/
|
||||
private function seedStarterKit(): void
|
||||
{
|
||||
collect([
|
||||
[
|
||||
'name' => 'Tmpost',
|
||||
'slug' => 'tmpost',
|
||||
'description' => 'Tmpost default',
|
||||
'timezone' => 'Asia/Ashgabat',
|
||||
'url' => 'http://shop.post.tm',
|
||||
'is_default' => true,
|
||||
],
|
||||
])->each(fn ($data) => Channel::create($data));
|
||||
}
|
||||
|
||||
/**
|
||||
* Seed old postshop data
|
||||
*/
|
||||
public function seedOldData(): void
|
||||
{
|
||||
$datas = json_decode(File::get('database/data/channels.json'));
|
||||
$relations = collect(json_decode(File::get('database/data/channelables.json')));
|
||||
|
||||
$table = 'channels';
|
||||
foreach ($datas as $data) {
|
||||
DB::table($table)->insert([
|
||||
'id' => $data->id,
|
||||
'created_at' => $data->created_at,
|
||||
'updated_at' => $data->updated_at,
|
||||
'name' => $data->name,
|
||||
'slug' => $data->slug,
|
||||
'description' => $data->description,
|
||||
'timezone' => $data->timezone,
|
||||
'url' => $data->url,
|
||||
'is_default' => true,
|
||||
'is_visible' => $data->is_default,
|
||||
'channelables_id' => $relations->firstWhere('channel_id', $data->id)?->channelable_id,
|
||||
'channelables_type' => $relations->firstWhere('channel_id', $data->id)?->channelable_type,
|
||||
]);
|
||||
}
|
||||
|
||||
DB::statement("
|
||||
SELECT setval('{$table}_id_seq', (SELECT MAX(id) from {$table}))
|
||||
");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user