Files
laravel-backend/database/seeds/GlobalDbImportSeeder.php
Joris Slagter df155bb13d
Some checks failed
continuous-integration/drone/push Build is failing
Initial Laravel API import
- Complete GGZ Ecademy Laravel backend application
- RESTful API for learning products, members, filters
- Authentication and authorization system
- Database migrations and seeders
- Custom CRUD generator commands
- Email notification system
- Integration with frontend applications
2025-12-02 17:40:21 +01:00

83 lines
1.9 KiB
PHP

<?php
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class GlobalDbImportSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
/**
* Notes from last import:
*
* - json got by mysql workbench
* - sorting made manually inside the json
* - storage folder moved manually
* - media sql table imported in local from old db
* - after finished, exported the entire db and imported
*
* */
//
$db = json_decode(file_get_contents(resource_path('data/mijnggz.json')), true);
if (empty($db)) {
return;
}
$tables = array_keys($db);
$sortOrder = [
'addresses',
'checklist_categories',
'checklists',
'users',
'roles',
'role_user',
'synonyms',
'learning_products',
'versions',
'contact_persons',
'course_notifications',
'failed_jobs',
'filters',
'filter_items',
'filter_items_associations',
'learning_product_synonym',
'media',
'member_employees',
'members',
'migrations',
'notifications',
'password_resets',
'personal_access_tokens',
'websockets_statistics_entries',
'accreditations',
'checklist_versions',
];
$sortedTables = [];
$skippable = [
'migrations',
'course_notifications',
'media',
];
foreach ($db as $key => $value) {
if (!in_array($key, $skippable)) {
DB::table($key)->insert($value);
}
}
$this->call(BranchSeeder::class);
}
}