1
0
mirror of https://github.com/invoiceninja/invoiceninja.git synced 2024-09-20 08:21:34 +02:00

Do not serialize company after migration

This commit is contained in:
David Bomba 2022-09-21 22:02:29 +10:00
parent 50f08362a3
commit e63cf9c48f
2 changed files with 22 additions and 4 deletions

View File

@ -264,7 +264,7 @@ class Import implements ShouldQueue
$t->replace(Ninja::transformTranslations($this->company->settings));
Mail::to($this->user->email, $this->user->name())
->send(new MigrationCompleted($this->company, implode("<br>",$check_data)));
->send(new MigrationCompleted($this->company->id, $this->company->db, implode("<br>",$check_data)));
}
catch(\Exception $e) {
nlog($e->getMessage());
@ -715,6 +715,15 @@ class Import implements ShouldQueue
Client::reguard();
Client::with('contacts')->where('company_id', $this->company->id)->cursor()->each(function ($client){
$contact = $client->contacts->sortByDesc('is_primary')->first();
$contact->is_primary = true;
$contact->save();
});
/*Improve memory handling by setting everything to null when we have finished*/
$data = null;
$contact_repository = null;

View File

@ -2,6 +2,7 @@
namespace App\Mail;
use App\Libraries\MultiDB;
use App\Models\Company;
use App\Utils\Ninja;
use Illuminate\Bus\Queueable;
@ -13,19 +14,23 @@ class MigrationCompleted extends Mailable
{
// use Queueable, SerializesModels;
public $company;
public $company_id;
public $db;
public $check_data;
public $company;
/**
* Create a new message instance.
*
* @return void
*/
public function __construct(Company $company, $check_data = '')
public function __construct(int $company_id, string $db, $check_data = '')
{
$this->company = $company;
$this->company_id = $company_id;
$this->check_data = $check_data;
$this->db = $db;
}
/**
@ -35,6 +40,10 @@ class MigrationCompleted extends Mailable
*/
public function build()
{
MultiDB::setDb($this->db);
$this->company = Company::find($this->company_id);
App::forgetInstance('translator');
$t = app('translator');
$t->replace(Ninja::transformTranslations($this->company->settings));