From 3e492475c0ace1ee8929579f161d40fa022a1397 Mon Sep 17 00:00:00 2001 From: hackerESQ Date: Wed, 9 Jul 2025 21:55:32 -0500 Subject: [PATCH] fix: migrations failing on mysql --- ...025_12_28_000001_add_multi_currency_support.php | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/database/migrations/2025_12_28_000001_add_multi_currency_support.php b/database/migrations/2025_12_28_000001_add_multi_currency_support.php index 6abe35f..0e15275 100644 --- a/database/migrations/2025_12_28_000001_add_multi_currency_support.php +++ b/database/migrations/2025_12_28_000001_add_multi_currency_support.php @@ -8,6 +8,7 @@ use App\Models\Transaction; use Database\Seeders\CurrencySeeder; use Database\Seeders\MarketDataSeeder; use Illuminate\Database\Migrations\Migration; +use Illuminate\Database\Query\Expression; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\DB; @@ -24,10 +25,15 @@ return new class extends Migration * Add options column to users table */ Schema::table('users', function (Blueprint $table) { - $table->json('options')->default(json_encode([ - 'locale' => config('app.locale', 'en'), - 'display_currency' => config('investbrain.base_currency', 'USD'), - ]))->after('profile_photo_path'); + + $locale = config('app.locale', 'en'); + $currency = config('investbrain.base_currency', 'USD'); + + $default = config('database.default') === 'mysql' + ? new Expression("(JSON_OBJECT('locale', '{$locale}', 'display_currency', '{$currency}'))") + : json_encode(['locale' => $locale, 'display_currency' => $currency]); + + $table->json('options')->default($default)->after('profile_photo_path'); }); /**