From febb90e40eaa87cac75a95f686ce82588f91ebec Mon Sep 17 00:00:00 2001 From: philipp lang Date: Mon, 23 Dec 2024 03:07:05 +0100 Subject: [PATCH] Fix database migrations for mailgateways --- .../MailgatewayServiceProvider.php | 2 ++ .../2024_12_23_004559_update_mailgateways.php | 32 +++++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 modules/Mailgateway/database/migrations/2024_12_23_004559_update_mailgateways.php diff --git a/modules/Mailgateway/MailgatewayServiceProvider.php b/modules/Mailgateway/MailgatewayServiceProvider.php index 28d21e5b..a420ae5d 100644 --- a/modules/Mailgateway/MailgatewayServiceProvider.php +++ b/modules/Mailgateway/MailgatewayServiceProvider.php @@ -39,6 +39,8 @@ class MailgatewayServiceProvider extends ServiceProvider MailmanType::class, ])); + $this->loadMigrationsFrom(__DIR__ . '/database/migrations'); + View::addNamespace('mailgateway', __DIR__ . '/Components'); } } diff --git a/modules/Mailgateway/database/migrations/2024_12_23_004559_update_mailgateways.php b/modules/Mailgateway/database/migrations/2024_12_23_004559_update_mailgateways.php new file mode 100644 index 00000000..e66cca90 --- /dev/null +++ b/modules/Mailgateway/database/migrations/2024_12_23_004559_update_mailgateways.php @@ -0,0 +1,32 @@ +get() as $gateway) { + $type = json_decode($gateway->type); + + $newType = ['type' => $type->cls, 'data' => $type->params]; + if (str_contains($type->cls, 'MailmanType')) { + $newType['type'] = MailmanType::class; + } + DB::table('mailgateways')->where('id', $gateway->id)->update(['type' => json_encode($newType)]); + } + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + } +};