diff --git a/database/migrations/2024_01_10_155555_add_bank_transaction_nordigen_field.php b/database/migrations/2024_01_10_155555_add_bank_transaction_nordigen_field.php index 24ad75b396a7..a928e9ee56e6 100644 --- a/database/migrations/2024_01_10_155555_add_bank_transaction_nordigen_field.php +++ b/database/migrations/2024_01_10_155555_add_bank_transaction_nordigen_field.php @@ -2,6 +2,8 @@ use App\Models\Account; use App\Models\BankIntegration; +use App\Models\BankTransaction; +use App\Repositories\BankTransactionRepository; use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; @@ -20,6 +22,19 @@ return new class extends Migration { $table->text('nordigen_transaction_id')->nullable(); }); + // remove invalid transactions + BankIntegration::query()->where('bank_integration_type', BankIntegration::INTEGRATION_TYPE_NORDIGEN)->cursor()->each(function ($bank_integration) { + $bank_integration->from_date = now()->subDays(90); + $bank_integration->save(); + + BankTransaction::query()->where('bank_integration_id', $bank_integration->id)->cursor()->each(function ($bank_transaction) { + if ($bank_transaction->invoiceIds != '' || $bank_transaction->expense_id != '') + return; + + $btrepo = new BankTransactionRepository(); + $btrepo->delete($bank_transaction); + }); + }); } /**