<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20220912075448 extends AbstractMigration
{
public function getDescription(): string
{
return '';
}
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE payment DROP FOREIGN KEY FK_6D28840D743A4871');
$this->addSql('CREATE TABLE gateway_config (id INT AUTO_INCREMENT NOT NULL, payment_method_id INT DEFAULT NULL, type VARCHAR(255) DEFAULT NULL, config JSON NOT NULL, UNIQUE INDEX UNIQ_B14649385AA1164F (payment_method_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE payment_method (id INT AUTO_INCREMENT NOT NULL, shop_id INT DEFAULT NULL, payemnt_menthod_config_id INT DEFAULT NULL, gateway_config_id INT DEFAULT NULL, position INT NOT NULL, enabled TINYINT(1) NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, INDEX IDX_7B61A1F64D16C4DD (shop_id), INDEX IDX_7B61A1F663F38D67 (payemnt_menthod_config_id), UNIQUE INDEX UNIQ_7B61A1F6F23D6140 (gateway_config_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE payment_method_config (id INT AUTO_INCREMENT NOT NULL, gateway_config_id INT DEFAULT NULL, code VARCHAR(255) NOT NULL, enabled TINYINT(1) NOT NULL, type VARCHAR(255) NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, UNIQUE INDEX UNIQ_E03B7C37F23D6140 (gateway_config_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE gateway_config ADD CONSTRAINT FK_B14649385AA1164F FOREIGN KEY (payment_method_id) REFERENCES payment_method_config (id)');
$this->addSql('ALTER TABLE payment_method ADD CONSTRAINT FK_7B61A1F64D16C4DD FOREIGN KEY (shop_id) REFERENCES shop (id)');
$this->addSql('ALTER TABLE payment_method ADD CONSTRAINT FK_7B61A1F663F38D67 FOREIGN KEY (payemnt_menthod_config_id) REFERENCES payment_method_config (id)');
$this->addSql('ALTER TABLE payment_method ADD CONSTRAINT FK_7B61A1F6F23D6140 FOREIGN KEY (gateway_config_id) REFERENCES gateway_config (id)');
$this->addSql('ALTER TABLE payment_method_config ADD CONSTRAINT FK_E03B7C37F23D6140 FOREIGN KEY (gateway_config_id) REFERENCES gateway_config (id)');
$this->addSql('DROP TABLE payment_methode');
$this->addSql('DROP INDEX IDX_6D28840D743A4871 ON payment');
$this->addSql('ALTER TABLE payment DROP payment_methode_id');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE payment_method DROP FOREIGN KEY FK_7B61A1F6F23D6140');
$this->addSql('ALTER TABLE payment_method_config DROP FOREIGN KEY FK_E03B7C37F23D6140');
$this->addSql('ALTER TABLE gateway_config DROP FOREIGN KEY FK_B14649385AA1164F');
$this->addSql('ALTER TABLE payment_method DROP FOREIGN KEY FK_7B61A1F663F38D67');
$this->addSql('CREATE TABLE payment_methode (id INT AUTO_INCREMENT NOT NULL, shop_id INT NOT NULL, name VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, token VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, status VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, INDEX IDX_BB7F4CD24D16C4DD (shop_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
$this->addSql('ALTER TABLE payment_methode ADD CONSTRAINT FK_BB7F4CD24D16C4DD FOREIGN KEY (shop_id) REFERENCES shop (id)');
$this->addSql('DROP TABLE gateway_config');
$this->addSql('DROP TABLE payment_method');
$this->addSql('DROP TABLE payment_method_config');
$this->addSql('ALTER TABLE payment ADD payment_methode_id INT NOT NULL');
$this->addSql('ALTER TABLE payment ADD CONSTRAINT FK_6D28840D743A4871 FOREIGN KEY (payment_methode_id) REFERENCES payment_methode (id)');
$this->addSql('CREATE INDEX IDX_6D28840D743A4871 ON payment (payment_methode_id)');
}
}