diff --git a/database/migrations/2021_06_28_105334_create_bouncer_tables.php b/database/migrations/2021_06_28_105334_create_bouncer_tables.php index dfc4daf7..80b503c0 100644 --- a/database/migrations/2021_06_28_105334_create_bouncer_tables.php +++ b/database/migrations/2021_06_28_105334_create_bouncer_tables.php @@ -15,24 +15,24 @@ class CreateBouncerTables extends Migration */ public function up() { - if (Schema::hasTable('roles')) { - Schema::drop(Models::table('roles')); - } - - if (Schema::hasTable('permissions')) { - Schema::drop(Models::table('permissions')); - } - - if (Schema::hasTable('model_has_permissions')) { - Schema::drop(Models::table('model_has_permissions')); + if (Schema::hasTable('role_has_permissions')) { + Schema::drop(Models::table('role_has_permissions')); } if (Schema::hasTable('model_has_roles')) { Schema::drop(Models::table('model_has_roles')); } - if (Schema::hasTable('role_has_permissions')) { - Schema::drop(Models::table('role_has_permissions')); + if (Schema::hasTable('model_has_permissions')) { + Schema::drop(Models::table('model_has_permissions')); + } + + if (Schema::hasTable('permissions')) { + Schema::drop(Models::table('permissions')); + } + + if (Schema::hasTable('roles')) { + Schema::drop(Models::table('roles')); } Schema::create(Models::table('abilities'), function (Blueprint $table) { diff --git a/database/migrations/2021_06_30_062411_update_customer_id_in_all_tables.php b/database/migrations/2021_06_30_062411_update_customer_id_in_all_tables.php index 059a4e02..eabbe753 100644 --- a/database/migrations/2021_06_30_062411_update_customer_id_in_all_tables.php +++ b/database/migrations/2021_06_30_062411_update_customer_id_in_all_tables.php @@ -1,7 +1,13 @@ toArray()); - $customFields = CustomField::where('model_type', 'User')->get(); + Address::where('user_id', $user->id)->update([ + 'customer_id' => $newCustomer->id, + 'user_id' => null + ]); - if ($customFields) { - $user->fields->map(function ($customFieldValue) use ($newCustomer) { - $customFieldValue->custom_field_valuable_type = "Crater\Models\Customer"; - $customFieldValue->custom_field_valuable_id = $newCustomer->id; - $customFieldValue->save(); + Expense::where('user_id', $user->id)->update([ + 'customer_id' => $newCustomer->id, + 'user_id' => null + ]); - $customField = $customFieldValue->customField; - $customField->model_type = "Customer"; - $customField->slug = Str::upper('CUSTOM_'.$customField->model_type.'_'.Str::slug($customField->label, '_')); - $customField->save(); - }); - } + Estimate::where('user_id', $user->id)->update([ + 'customer_id' => $newCustomer->id, + 'user_id' => null + ]); - if ($user->addresses()->exists()) { - $user->addresses->map(function ($address) use ($newCustomer) { - if ($address) { - $address->customer_id = $newCustomer->id; - $address->user_id = null; - $address->save(); - } - }); - } + Invoice::where('user_id', $user->id)->update([ + 'customer_id' => $newCustomer->id, + 'user_id' => null + ]); - if ($user->expenses()->exists()) { - $user->expenses->map(function ($expense) use ($newCustomer) { - if ($expense) { - $expense->customer_id = $newCustomer->id; - $expense->user_id = null; - $expense->save(); - } - }); - } + Payment::where('user_id', $user->id)->update([ + 'customer_id' => $newCustomer->id, + 'user_id' => null + ]); - if ($user->estimates()->exists()) { - $user->estimates->map(function ($estimate) use ($newCustomer) { - if ($estimate) { - $estimate->customer_id = $newCustomer->id; - $estimate->user_id = null; - $estimate->save(); - } - }); - } + CustomFieldValue::where('custom_field_valuable_id', $user->id) + ->where('custom_field_valuable_type', 'Crater\Models\User') + ->update([ + 'custom_field_valuable_type' => 'Crater\Models\Customer', + 'custom_field_valuable_id' => $newCustomer->id + ]); + } - if ($user->invoices()->exists()) { - $user->invoices->map(function ($invoice) use ($newCustomer) { - if ($invoice) { - $invoice->customer_id = $newCustomer->id; - $invoice->user_id = null; - $invoice->save(); - } - }); - } + $customFields = CustomField::where('model_type', 'User')->get(); - if ($user->payments()->exists()) { - $user->payments->map(function ($payment) use ($newCustomer) { - if ($payment) { - $payment->customer_id = $newCustomer->id; - $payment->save(); - } - }); + if ($customFields) { + foreach ($customFields as $customField) { + $customField->model_type = "Customer"; + $customField->slug = Str::upper('CUSTOM_'.$customField->model_type.'_'.Str::slug($customField->label, '_')); + $customField->save(); } } }