<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
final class Version20250526111629 extends AbstractMigration
{
public function getDescription(): string
{
return 'Add new entity order_setting';
}
public function up(Schema $schema): void
{
$this->addSql('CREATE TABLE order_setting (id INT AUTO_INCREMENT NOT NULL, shop_id INT NOT NULL, customer_identifier VARCHAR(255) DEFAULT NULL, cutlery TINYINT(1) DEFAULT 0 NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, UNIQUE INDEX UNIQ_690E11D34D16C4DD (shop_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE order_setting ADD CONSTRAINT FK_690E11D34D16C4DD FOREIGN KEY (shop_id) REFERENCES shop (id)');
$this->addSql('ALTER TABLE `order` ADD setting JSON DEFAULT NULL');
$this->addSql('
INSERT INTO order_setting (shop_id, created_at, updated_at)
SELECT id, NOW(), NOW() FROM shop
');
}
public function down(Schema $schema): void
{
$this->addSql('ALTER TABLE order_setting DROP FOREIGN KEY FK_690E11D34D16C4DD');
$this->addSql('DROP TABLE order_setting');
$this->addSql('ALTER TABLE `order` DROP setting');
}
}