diff --git a/src/Migration/Migration1575569953createTable.php b/src/Migration/Migration1575569953createTable.php index 71e2a4a..0422cd8 100644 --- a/src/Migration/Migration1575569953createTable.php +++ b/src/Migration/Migration1575569953createTable.php @@ -16,7 +16,7 @@ public function getCreationTimestamp(): int public function update(Connection $connection): void { - $connection->executeStatement('CREATE TABLE `frosh_mail_archive` ( + $connection->executeStatement('CREATE TABLE IF NOT EXISTS `frosh_mail_archive` ( `id` BINARY(16) NOT NULL, `sender` VARCHAR(255) NOT NULL, `receiver` JSON NOT NULL, diff --git a/src/Migration/Migration1690743548AddEmlPath.php b/src/Migration/Migration1690743548AddEmlPath.php index d8b03eb..5c24b06 100644 --- a/src/Migration/Migration1690743548AddEmlPath.php +++ b/src/Migration/Migration1690743548AddEmlPath.php @@ -16,6 +16,9 @@ public function getCreationTimestamp(): int public function update(Connection $connection): void { + if ($this->columnExists($connection, 'frosh_mail_archive', 'eml_path')) { + return; + } $connection->executeStatement('ALTER TABLE `frosh_mail_archive` ADD `eml_path` varchar(2048) NULL;'); } diff --git a/src/Migration/Migration1691326842Attachment.php b/src/Migration/Migration1691326842Attachment.php index 0c77ad3..ed61e73 100644 --- a/src/Migration/Migration1691326842Attachment.php +++ b/src/Migration/Migration1691326842Attachment.php @@ -16,7 +16,7 @@ public function getCreationTimestamp(): int public function update(Connection $connection): void { - $connection->executeStatement('CREATE TABLE `frosh_mail_archive_attachment` ( + $connection->executeStatement('CREATE TABLE IF NOT EXISTS `frosh_mail_archive_attachment` ( `id` BINARY(16) NOT NULL, `mail_archive_id` BINARY(16) NULL, `file_name` VARCHAR(255) NOT NULL, diff --git a/src/Migration/Migration1694604822AddSourceMailId.php b/src/Migration/Migration1694604822AddSourceMailId.php index 2a8d8cd..84d50ec 100644 --- a/src/Migration/Migration1694604822AddSourceMailId.php +++ b/src/Migration/Migration1694604822AddSourceMailId.php @@ -16,6 +16,9 @@ public function getCreationTimestamp(): int public function update(Connection $connection): void { + if ($this->columnExists($connection, 'frosh_mail_archive', 'source_mail_id')) { + return; + } $connection->executeStatement('ALTER TABLE `frosh_mail_archive` ADD `source_mail_id` BINARY(16) NULL;'); } diff --git a/src/Migration/Migration1694714751TransportInfo.php b/src/Migration/Migration1694714751TransportInfo.php index 4232b63..f862490 100644 --- a/src/Migration/Migration1694714751TransportInfo.php +++ b/src/Migration/Migration1694714751TransportInfo.php @@ -16,6 +16,9 @@ public function getCreationTimestamp(): int public function update(Connection $connection): void { + if ($this->columnExists($connection, 'frosh_mail_archive', 'transport_state')) { + return; + } $connection->executeStatement('ALTER TABLE `frosh_mail_archive` ADD `transport_state` VARCHAR(255) NULL;'); } diff --git a/src/Migration/Migration1739730285AddOrderId.php b/src/Migration/Migration1739730285AddOrderId.php index 90562bd..6fd7f8d 100644 --- a/src/Migration/Migration1739730285AddOrderId.php +++ b/src/Migration/Migration1739730285AddOrderId.php @@ -16,12 +16,17 @@ public function getCreationTimestamp(): int public function update(Connection $connection): void { - $connection->executeStatement(' - ALTER TABLE `frosh_mail_archive` - ADD COLUMN `order_id` BINARY(16) NULL, - ADD COLUMN `order_version_id` BINARY(16) NULL - ; - '); + if (!$this->columnExists($connection, 'frosh_mail_archive', 'order_id')) { + $connection->executeStatement(' + ALTER TABLE `frosh_mail_archive` ADD COLUMN `order_id` BINARY(16) NULL; + '); + } + + if (!$this->columnExists($connection, 'frosh_mail_archive', 'order_version_id')) { + $connection->executeStatement(' + ALTER TABLE `frosh_mail_archive` ADD COLUMN `order_version_id` BINARY(16) NULL; + '); + } } public function updateDestructive(Connection $connection): void diff --git a/src/Migration/Migration1739741754AddFlowId.php b/src/Migration/Migration1739741754AddFlowId.php index db91148..ff3462b 100644 --- a/src/Migration/Migration1739741754AddFlowId.php +++ b/src/Migration/Migration1739741754AddFlowId.php @@ -16,6 +16,9 @@ public function getCreationTimestamp(): int public function update(Connection $connection): void { + if ($this->columnExists($connection, 'frosh_mail_archive', 'flow_id')) { + return; + } $connection->executeStatement(' ALTER TABLE `frosh_mail_archive` ADD COLUMN `flow_id` BINARY(16) NULL;'); diff --git a/src/Migration/Migration1770821445AddMailTemplateId.php b/src/Migration/Migration1770821445AddMailTemplateId.php index e174808..3894d96 100644 --- a/src/Migration/Migration1770821445AddMailTemplateId.php +++ b/src/Migration/Migration1770821445AddMailTemplateId.php @@ -16,6 +16,9 @@ public function getCreationTimestamp(): int public function update(Connection $connection): void { + if ($this->columnExists($connection, 'frosh_mail_archive', 'mail_template_id')) { + return; + } $connection->executeStatement('ALTER TABLE `frosh_mail_archive` ADD COLUMN `mail_template_id` BINARY(16) NULL'); }