migrations/Version20230516073743.php line 1

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace DoctrineMigrations;
  4. use Doctrine\DBAL\Schema\Schema;
  5. use Doctrine\Migrations\AbstractMigration;
  6. /**
  7.  * Auto-generated Migration: Please modify to your needs!
  8.  */
  9. final class Version20230516073743 extends AbstractMigration
  10. {
  11.     public function getDescription(): string
  12.     {
  13.         return '';
  14.     }
  15.     public function up(Schema $schema): void
  16.     {
  17.         // this up() migration is auto-generated, please modify it to your needs
  18.         $this->addSql('ALTER TABLE address ADD company_id INT DEFAULT NULL');
  19.         $this->addSql('ALTER TABLE address ADD CONSTRAINT FK_D4E6F81979B1AD6 FOREIGN KEY (company_id) REFERENCES company (id)');
  20.         $this->addSql('CREATE INDEX IDX_D4E6F81979B1AD6 ON address (company_id)');
  21.         // quotation addresses
  22.         $this->addSql("
  23.             UPDATE address a
  24.             JOIN customer_quotations q ON a.id = q.address_id
  25.             JOIN customer c ON q.customer_id = c.id
  26.             SET a.company_id = c.company_id
  27.         ");
  28.         // manufacturer addresses
  29.         $this->addSql("
  30.             UPDATE address a
  31.             JOIN manufacturer_address ma ON a.id = ma.address_id
  32.             JOIN manufacturer m ON ma.manufacturer_id = m.id
  33.             SET a.company_id = m.company_id
  34.         ");
  35.         // manufacturer inquiries addresses
  36.         $this->addSql("
  37.             UPDATE address a
  38.             JOIN price_inquiry pi ON a.id = pi.address_id
  39.             JOIN manufacturer m ON pi.manufacturer_id = m.id
  40.             SET a.company_id = m.company_id
  41.         ");
  42.         // invoice addresses
  43.         $this->addSql("
  44.             UPDATE address a
  45.             JOIN invoice i ON a.id = i.delivery_address_id
  46.             JOIN customer c ON i.customer_id = c.id
  47.             SET a.company_id = c.company_id
  48.         ");
  49.         // sample addresses
  50.         $this->addSql("
  51.             UPDATE address a
  52.             JOIN sample s ON a.id = s.outbound_address_id
  53.             JOIN customer c ON s.customer_id = c.id
  54.             SET a.company_id = c.company_id
  55.         ");
  56.         // company addresses
  57.         $this->addSql("
  58.             UPDATE address a
  59.             JOIN company co ON a.id = co.address_id
  60.             SET a.company_id = co.id
  61.         ");
  62.     }
  63.     public function down(Schema $schema): void
  64.     {
  65.         // this down() migration is auto-generated, please modify it to your needs
  66.         $this->addSql('ALTER TABLE address DROP FOREIGN KEY FK_D4E6F81979B1AD6');
  67.         $this->addSql('DROP INDEX IDX_D4E6F81979B1AD6 ON address');
  68.         $this->addSql('ALTER TABLE address DROP company_id');
  69.     }
  70. }