Files
piratepoet/mailpoet/lib/Migrations/Db/Migration_20230824_054259_Db.php
Brezo Cordero 6388a7307f Check table exists before altering it
[MAILPOET-5590]
2023-09-25 05:48:48 -07:00

35 lines
949 B
PHP

<?php declare(strict_types = 1);
namespace MailPoet\Migrations\Db;
use MailPoet\DI\ContainerWrapper;
use MailPoet\Entities\StatisticsWooCommercePurchaseEntity;
use MailPoet\Migrator\DbMigration;
class Migration_20230824_054259_Db extends DbMigration {
public const DEFAULT_STATUS = 'unknown';
public function __construct(
ContainerWrapper $container
) {
parent::__construct($container);
}
public function run(): void {
$this->createStatusColumn();
}
private function createStatusColumn(): void {
$revenueTable = $this->getTableName(StatisticsWooCommercePurchaseEntity::class);
if (!$this->tableExists($revenueTable) || $this->columnExists($revenueTable, 'status')) {
return;
}
$this->connection->executeQuery(
"ALTER TABLE `" . $revenueTable . "`
ADD COLUMN `status` VARCHAR(40) NOT NULL DEFAULT '" . self::DEFAULT_STATUS . "',
ADD INDEX `status` (`status`)"
);
}
}