<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
final class Version20251015132328 extends AbstractMigration
{
public function getDescription(): string
{
return 'Migrate loyalty API token from shop_settings to loyalty entity, and enabled columns';
}
public function up(Schema $schema): void
{
$this->addSql('ALTER TABLE loyalty ADD loyalty_api_token VARCHAR(255) DEFAULT NULL, ADD enabled TINYINT(1) DEFAULT 1 NOT NULL');
$this->addSql('UPDATE loyalty l
JOIN shop_settings s ON s.shop_id = l.shop_id
SET l.loyalty_api_token = s.loyalty_api_token
');
$this->addSql('ALTER TABLE shop_settings DROP loyalty_api_token');
}
public function down(Schema $schema): void
{
$this->addSql('ALTER TABLE shop_settings ADD loyalty_api_token VARCHAR(255) DEFAULT NULL');
$this->addSql('UPDATE shop_settings s
JOIN loyalty l ON l.shop_id = s.shop_id
SET s.loyalty_api_token = l.loyalty_api_token
');
$this->addSql('ALTER TABLE loyalty DROP loyalty_api_token, DROP enabled');
}
}