<?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 Version20260109173158 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('CREATE TABLE customer_transaction_join_user (transaction_id INT NOT NULL, user_id INT NOT NULL, INDEX IDX_980983F2FC0CB0F (transaction_id), INDEX IDX_980983FA76ED395 (user_id), PRIMARY KEY(transaction_id, user_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE customer_transaction_join_user ADD CONSTRAINT FK_980983F2FC0CB0F FOREIGN KEY (transaction_id) REFERENCES customer_transaction (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE customer_transaction_join_user ADD CONSTRAINT FK_980983FA76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE');
$this->addSql('ALTER TABLE customer_transaction DROP FOREIGN KEY FK_717C2ED984524C52');
$this->addSql('ALTER TABLE customer_transaction DROP FOREIGN KEY FK_717C2ED996E7E3BC');
$this->addSql('DROP INDEX IDX_717C2ED996E7E3BC ON customer_transaction');
$this->addSql('DROP INDEX IDX_717C2ED984524C52 ON customer_transaction');
$this->addSql('
INSERT IGNORE INTO customer_transaction_join_user (transaction_id, user_id)
SELECT id, rep1_id FROM customer_transaction WHERE rep1_id IS NOT NULL
');
$this->addSql('
INSERT IGNORE INTO customer_transaction_join_user (transaction_id, user_id)
SELECT id, rep2_id FROM customer_transaction WHERE rep2_id IS NOT NULL
');
$this->addSql('ALTER TABLE customer_transaction DROP rep1_id, DROP rep2_id');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('DROP TABLE customer_transaction_join_user');
$this->addSql('ALTER TABLE customer_transaction ADD rep1_id INT DEFAULT NULL, ADD rep2_id INT DEFAULT NULL, CHANGE type type ENUM(\'scheduling\', \'paid\', \'returned\') DEFAULT NULL COLLATE `utf8mb4_general_ci` COMMENT \'(DC2Type:TransactionType)\', CHANGE method method ENUM(\'cc\', \'echk\', \'ccod\', \'pcod\', \'cod\', \'loan\') DEFAULT NULL COLLATE `utf8mb4_general_ci` COMMENT \'(DC2Type:TransactionMethodType)\', CHANGE card_brand card_brand ENUM(\'visa\', \'mastercard\', \'amex\', \'discover\') DEFAULT NULL COLLATE `utf8mb4_general_ci` COMMENT \'(DC2Type:CardBrandType)\', CHANGE card_owner card_owner VARCHAR(255) DEFAULT NULL COLLATE `utf8mb4_general_ci`, CHANGE card_number card_number VARCHAR(255) DEFAULT NULL COLLATE `utf8mb4_general_ci`, CHANGE card_cvc card_cvc VARCHAR(255) DEFAULT NULL COLLATE `utf8mb4_general_ci`, CHANGE e_check_owner e_check_owner VARCHAR(255) DEFAULT NULL COLLATE `utf8mb4_general_ci`, CHANGE e_check_bank_name e_check_bank_name VARCHAR(255) DEFAULT NULL COLLATE `utf8mb4_general_ci`, CHANGE e_check_account_number e_check_account_number VARCHAR(255) DEFAULT NULL COLLATE `utf8mb4_general_ci`, CHANGE e_check_routing e_check_routing VARCHAR(255) DEFAULT NULL COLLATE `utf8mb4_general_ci`, CHANGE e_check_number e_check_number VARCHAR(255) DEFAULT NULL COLLATE `utf8mb4_general_ci`, CHANGE e_check_phone_number e_check_phone_number VARCHAR(255) DEFAULT NULL COLLATE `utf8mb4_general_ci`, CHANGE cashier_check_number cashier_check_number VARCHAR(255) DEFAULT NULL COLLATE `utf8mb4_general_ci`, CHANGE loan_merchant_number loan_merchant_number VARCHAR(255) DEFAULT NULL COLLATE `utf8mb4_general_ci`, CHANGE message message LONGTEXT DEFAULT NULL COLLATE `utf8mb4_general_ci`, CHANGE ran_message ran_message VARCHAR(255) DEFAULT NULL COLLATE `utf8mb4_general_ci`');
$this->addSql('ALTER TABLE customer_transaction ADD CONSTRAINT FK_717C2ED984524C52 FOREIGN KEY (rep2_id) REFERENCES user (id) ON DELETE SET NULL');
$this->addSql('ALTER TABLE customer_transaction ADD CONSTRAINT FK_717C2ED996E7E3BC FOREIGN KEY (rep1_id) REFERENCES user (id) ON DELETE SET NULL');
$this->addSql('CREATE INDEX IDX_717C2ED996E7E3BC ON customer_transaction (rep1_id)');
$this->addSql('CREATE INDEX IDX_717C2ED984524C52 ON customer_transaction (rep2_id)');
}
}