improved contact migration
This commit is contained in:
		@@ -253,6 +253,8 @@ class Version200 extends Listener
 | 
			
		||||
 | 
			
		||||
    public function copyCustomers()
 | 
			
		||||
    {
 | 
			
		||||
        $contacts = [];
 | 
			
		||||
 | 
			
		||||
        $customers = DB::table('customers')->cursor();
 | 
			
		||||
 | 
			
		||||
        $has_estimates = Schema::hasTable('estimates');
 | 
			
		||||
@@ -268,21 +270,28 @@ class Version200 extends Listener
 | 
			
		||||
 | 
			
		||||
            $contact_id = DB::table('contacts')->insertGetId($data);
 | 
			
		||||
 | 
			
		||||
            $contacts[$customer->id] = $contact_id;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        $contacts = array_reverse($contacts, true);
 | 
			
		||||
 | 
			
		||||
        foreach ($contacts as $customer_id => $contact_id) {
 | 
			
		||||
 | 
			
		||||
            DB::table('invoices')
 | 
			
		||||
                ->where('contact_id', $customer->id)
 | 
			
		||||
                ->where('contact_id', $customer_id)
 | 
			
		||||
                ->update([
 | 
			
		||||
                    'contact_id' => $contact_id,
 | 
			
		||||
                ]);
 | 
			
		||||
 | 
			
		||||
            DB::table('revenues')
 | 
			
		||||
                ->where('customer_id', $customer->id)
 | 
			
		||||
                ->where('customer_id', $customer_id)
 | 
			
		||||
                ->update([
 | 
			
		||||
                    'customer_id' => $contact_id,
 | 
			
		||||
                ]);
 | 
			
		||||
 | 
			
		||||
            if ($has_estimates) {
 | 
			
		||||
                DB::table('estimates')
 | 
			
		||||
                    ->where('customer_id', $customer->id)
 | 
			
		||||
                    ->where('customer_id', $customer_id)
 | 
			
		||||
                    ->update([
 | 
			
		||||
                        'customer_id' => $contact_id,
 | 
			
		||||
                    ]);
 | 
			
		||||
@@ -290,7 +299,7 @@ class Version200 extends Listener
 | 
			
		||||
 | 
			
		||||
            if ($has_crm_companies) {
 | 
			
		||||
                DB::table('crm_companies')
 | 
			
		||||
                    ->where('core_customer_id', $customer->id)
 | 
			
		||||
                    ->where('core_customer_id', $customer_id)
 | 
			
		||||
                    ->update([
 | 
			
		||||
                        'core_customer_id' => $contact_id,
 | 
			
		||||
                    ]);
 | 
			
		||||
@@ -298,7 +307,7 @@ class Version200 extends Listener
 | 
			
		||||
 | 
			
		||||
            if ($has_crm_contacts) {
 | 
			
		||||
                DB::table('crm_contacts')
 | 
			
		||||
                    ->where('core_customer_id', $customer->id)
 | 
			
		||||
                    ->where('core_customer_id', $customer_id)
 | 
			
		||||
                    ->update([
 | 
			
		||||
                        'core_customer_id' => $contact_id,
 | 
			
		||||
                    ]);
 | 
			
		||||
@@ -306,7 +315,7 @@ class Version200 extends Listener
 | 
			
		||||
 | 
			
		||||
            if ($has_idea_soft_histories) {
 | 
			
		||||
                DB::table('idea_soft_histories')
 | 
			
		||||
                    ->where('model_id', $customer->id)
 | 
			
		||||
                    ->where('model_id', $customer_id)
 | 
			
		||||
                    ->where('model_type', 'App\Models\Income\Customer')
 | 
			
		||||
                    ->update([
 | 
			
		||||
                        'model_id' => $contact_id,
 | 
			
		||||
@@ -316,7 +325,7 @@ class Version200 extends Listener
 | 
			
		||||
 | 
			
		||||
            if ($has_custom_fields_field_values) {
 | 
			
		||||
                DB::table('custom_fields_field_values')
 | 
			
		||||
                    ->where('model_id', $customer->id)
 | 
			
		||||
                    ->where('model_id', $customer_id)
 | 
			
		||||
                    ->where('model_type', 'App\Models\Income\Customer')
 | 
			
		||||
                    ->update([
 | 
			
		||||
                        'model_id' => $contact_id,
 | 
			
		||||
@@ -330,6 +339,8 @@ class Version200 extends Listener
 | 
			
		||||
 | 
			
		||||
    public function copyVendors()
 | 
			
		||||
    {
 | 
			
		||||
        $contacts = [];
 | 
			
		||||
 | 
			
		||||
        $vendors = DB::table('vendors')->cursor();
 | 
			
		||||
 | 
			
		||||
        $has_custom_fields_field_values = Schema::hasTable('custom_fields_field_values');
 | 
			
		||||
@@ -341,20 +352,26 @@ class Version200 extends Listener
 | 
			
		||||
 | 
			
		||||
            $contact_id = DB::table('contacts')->insertGetId($data);
 | 
			
		||||
 | 
			
		||||
            $contacts[$vendor->id] = $contact_id;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        $contacts = array_reverse($contacts, true);
 | 
			
		||||
 | 
			
		||||
        foreach ($contacts as $vendor_id => $contact_id) {
 | 
			
		||||
            DB::table('bills')
 | 
			
		||||
                ->where('contact_id', $vendor->id)
 | 
			
		||||
                ->where('contact_id', $vendor_id)
 | 
			
		||||
                ->update([
 | 
			
		||||
                    'contact_id' => $contact_id,
 | 
			
		||||
                ]);
 | 
			
		||||
 | 
			
		||||
            DB::table('payments')
 | 
			
		||||
                ->where('vendor_id', $vendor->id)
 | 
			
		||||
                ->where('vendor_id', $vendor_id)
 | 
			
		||||
                ->update([
 | 
			
		||||
                    'vendor_id' => $contact_id,
 | 
			
		||||
                ]);
 | 
			
		||||
 | 
			
		||||
            DB::table('mediables')
 | 
			
		||||
                ->where('mediable_id', $vendor->id)
 | 
			
		||||
                ->where('mediable_id', $vendor_id)
 | 
			
		||||
                ->where('mediable_type', 'App\Models\Expense\Vendor')
 | 
			
		||||
                ->update([
 | 
			
		||||
                    'mediable_id' => $contact_id,
 | 
			
		||||
@@ -363,7 +380,7 @@ class Version200 extends Listener
 | 
			
		||||
 | 
			
		||||
            if ($has_custom_fields_field_values) {
 | 
			
		||||
                DB::table('custom_fields_field_values')
 | 
			
		||||
                    ->where('model_id', $vendor->id)
 | 
			
		||||
                    ->where('model_id', $vendor_id)
 | 
			
		||||
                    ->where('model_type', 'App\Models\Expense\Vendor')
 | 
			
		||||
                    ->update([
 | 
			
		||||
                        'model_id' => $contact_id,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user