feat: add migration to seed default application settings

This commit is contained in:
Ümit Tunç
2026-04-28 22:09:11 +03:00
parent 166e430734
commit 6c0987b90e
@@ -0,0 +1,67 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
use Illuminate\Support\Facades\DB;
return new class extends Migration {
/**
* Run the migrations.
*/
public function up(): void
{
$settings = [
'project_name' => 'Citrus CMS',
'project_name_ru' => '',
'project_number' => '',
'company_code' => '',
'row_count' => '20',
'summary_mails' => '',
'cron_job_batch_process_count' => '10',
'cron_job_period' => '1',
'gemini_api_key' => '',
'header_color' => 'bg-primary-dark',
'DevExpress_Theme' => 'dx.material.orange.light.compact.css',
'pdf_template_path' => 'default',
];
foreach ($settings as $key => $value) {
// Check if setting already exists
$exists = DB::table('settings')->where('title', $key)->exists();
if (!$exists) {
DB::table('settings')->insert([
'title' => $key,
'html' => $value,
'created_at' => now(),
'updated_at' => now(),
]);
}
}
}
/**
* Reverse the migrations.
*/
public function down(): void
{
$keys = [
'project_name',
'project_name_ru',
'project_number',
'company_code',
'row_count',
'summary_mails',
'cron_job_batch_process_count',
'cron_job_period',
'gemini_api_key',
'header_color',
'DevExpress_Theme',
'pdf_template_path',
'handover_control_count',
];
DB::table('settings')->whereIn('title', $keys)->delete();
}
};