migrations/Version20210212184305.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. final class Version20210212184305 extends AbstractMigration
  7. {
  8.     public function getDescription() : string
  9.     {
  10.         return '';
  11.     }
  12.     public function up(Schema $schema) : void
  13.     {
  14.         $this->addSql('ALTER TABLE accounting_entry CHANGE `createdAt` `created_at` DATETIME NOT NULL');
  15.         $this->addSql('ALTER TABLE accounting_entry CHANGE `updatedAt` `updated_at` DATETIME NOT NULL');
  16.         $this->addSql('ALTER TABLE accounting_entry CHANGE `createdBy` `created_by_id` INT DEFAULT NULL');
  17.         $this->addSql('ALTER TABLE accounting_entry CHANGE `updatedBy` `updated_by_id` INT DEFAULT NULL');
  18.         $this->addSql('ALTER TABLE cash_account_movement ADD updated_by_id INT DEFAULT NULL, ADD updated_at DATETIME NOT NULL DEFAULT NOW(), CHANGE createdby created_by_id INT DEFAULT NULL, CHANGE createdat created_at DATETIME NOT NULL');
  19.         $this->addSql('UPDATE cash_account_movement SET updated_at=created_at');
  20.         $this->addSql('UPDATE cash_account_movement SET created_by_id=1 WHERE created_by_id IS NULL');
  21.         $this->addSql('UPDATE cash_account_movement SET updated_by_id=created_by_id');
  22.         $this->addSql('ALTER TABLE frontend_message CHANGE `createdAt` `created_at` DATETIME NOT NULL');
  23.         $this->addSql('ALTER TABLE frontend_message CHANGE `updatedAt` `updated_at` DATETIME NOT NULL');
  24.         $this->addSql('ALTER TABLE frontend_message CHANGE `createdBy` `created_by_id` INT DEFAULT NULL');
  25.         $this->addSql('ALTER TABLE frontend_message CHANGE `updatedBy` `updated_by_id` INT DEFAULT NULL');
  26.         $this->addSql('ALTER TABLE holiday CHANGE `createdAt` `created_at` DATETIME NOT NULL');
  27.         $this->addSql('ALTER TABLE holiday CHANGE `updatedAt` `updated_at` DATETIME NOT NULL');
  28.         $this->addSql('ALTER TABLE holiday CHANGE `createdBy` `created_by_id` INT DEFAULT NULL');
  29.         $this->addSql('ALTER TABLE holiday CHANGE `updatedBy` `updated_by_id` INT DEFAULT NULL');
  30.         
  31.         $this->addSql('ALTER TABLE orders ADD created_at DATETIME NOT NULL DEFAULT NOW(), CHANGE createdby created_by_id INT DEFAULT NULL');
  32.         // update orders date
  33.         $this->addSql('UPDATE orders SET orders.created_at=orders.date');
  34.         $this->addSql('UPDATE orders SET orders.updated_at=orders.created_at WHERE orders.updated_at IS NULL');
  35.         // updated created_by_id on orders based on existing information, or just set to 1 if can't figure it out
  36.         $this->addSql('UPDATE orders INNER JOIN order_activity ON order_activity.order_id=orders.id AND order_activity.type="order.placed" SET orders.created_by_id=order_activity.created_by_id WHERE orders.created_by_id IS NULL');
  37.         $this->addSql('UPDATE orders INNER JOIN customer ON customer.id=orders.customer_id SET orders.created_by_id=customer.user_id WHERE orders.source="Web" AND orders.created_by_id IS NULL');
  38.         $this->addSql('UPDATE orders SET orders.created_by_id=1 WHERE orders.created_by_id IS NULL');
  39.         $this->addSql('UPDATE orders SET orders.updated_by_id=orders.created_by_id WHERE orders.updated_by_id IS NULL');
  40.         $this->addSql('ALTER TABLE order_item ADD created_by_id INT DEFAULT NULL, ADD updated_by_id INT DEFAULT NULL');       
  41.         // $this->addSql('UPDATE order_item JOIN orders ON orders.id = order_item.order_id SET order_item.created_by_id=orders.created_by_id, order_item.updated_by_id=orders.created_by_id');        
  42.         $this->addSql('ALTER TABLE payment_transaction CHANGE `createdAt` `created_at` DATETIME NOT NULL');
  43.         $this->addSql('ALTER TABLE payment_transaction CHANGE `updatedAt` `updated_at` DATETIME NOT NULL');
  44.         $this->addSql('ALTER TABLE payment_transaction CHANGE `createdBy` `created_by_id` INT DEFAULT NULL');
  45.         $this->addSql('ALTER TABLE payment_transaction CHANGE `updatedBy` `updated_by_id` INT DEFAULT NULL');
  46.         $this->addSql('ALTER TABLE receipt CHANGE `createdAt` `created_at` DATETIME NOT NULL');
  47.         $this->addSql('ALTER TABLE receipt CHANGE `updatedAt` `updated_at` DATETIME NOT NULL');
  48.         $this->addSql('ALTER TABLE receipt CHANGE `createdBy` `created_by_id` INT DEFAULT NULL');
  49.         $this->addSql('ALTER TABLE receipt CHANGE `updatedBy` `updated_by_id` INT DEFAULT NULL');
  50.         // constraints and indices
  51.         $this->addSql('ALTER TABLE cash_account_movement ADD CONSTRAINT FK_D46F5691896DBBDE FOREIGN KEY (updated_by_id) REFERENCES users (id)');
  52.         $this->addSql('CREATE INDEX IDX_D46F5691896DBBDE ON cash_account_movement (updated_by_id)');
  53.         $this->addSql('ALTER TABLE order_item ADD CONSTRAINT FK_52EA1F09B03A8386 FOREIGN KEY (created_by_id) REFERENCES users (id)');
  54.         $this->addSql('ALTER TABLE order_item ADD CONSTRAINT FK_52EA1F09896DBBDE FOREIGN KEY (updated_by_id) REFERENCES users (id)');
  55.         $this->addSql('CREATE INDEX IDX_52EA1F09B03A8386 ON order_item (created_by_id)');
  56.         $this->addSql('CREATE INDEX IDX_52EA1F09896DBBDE ON order_item (updated_by_id)');
  57.     }
  58.     public function down(Schema $schema) : void
  59.     {
  60.         $this->addSql('ALTER TABLE accounting_entry CHANGE `created_at` `createdAt` DATETIME NOT NULL');
  61.         $this->addSql('ALTER TABLE accounting_entry CHANGE `updated_at` `updatedAt` DATETIME NOT NULL');
  62.         $this->addSql('ALTER TABLE accounting_entry CHANGE `created_by_id` `createdBy` INT DEFAULT NULL');
  63.         $this->addSql('ALTER TABLE accounting_entry CHANGE `updated_by_id` `updatedBy` INT DEFAULT NULL');
  64.         
  65.         $this->addSql('ALTER TABLE cash_account_movement DROP FOREIGN KEY FK_D46F5691896DBBDE');
  66.         $this->addSql('DROP INDEX IDX_D46F5691896DBBDE ON cash_account_movement');
  67.         $this->addSql('ALTER TABLE cash_account_movement CHANGE `created_at` `createdAt` DATETIME NOT NULL, CHANGE `created_by_id` `createdBy` INT DEFAULT NULL, DROP updated_by_id, DROP updated_at');
  68.         $this->addSql('ALTER TABLE cash_account_movement ADD CONSTRAINT FK_8C51940FD3564642 FOREIGN KEY (createdBy) REFERENCES users (id)');
  69.         $this->addSql('ALTER TABLE frontend_message CHANGE `created_at` `createdAt` DATETIME NOT NULL');
  70.         $this->addSql('ALTER TABLE frontend_message CHANGE `updated_at` `updatedAt` DATETIME NOT NULL');
  71.         $this->addSql('ALTER TABLE frontend_message CHANGE `created_by_id` `createdBy` INT DEFAULT NULL');
  72.         $this->addSql('ALTER TABLE frontend_message CHANGE `updated_by_id` `updatedBy` INT DEFAULT NULL');
  73.         $this->addSql('ALTER TABLE holiday CHANGE `created_at` `createdAt` DATETIME NOT NULL');
  74.         $this->addSql('ALTER TABLE holiday CHANGE `updated_at` `updatedAt` DATETIME NOT NULL');
  75.         $this->addSql('ALTER TABLE holiday CHANGE `created_by_id` `createdBy` INT DEFAULT NULL');
  76.         $this->addSql('ALTER TABLE holiday CHANGE `updated_by_id` `updatedBy` INT DEFAULT NULL');
  77.         $this->addSql('ALTER TABLE order_item DROP FOREIGN KEY FK_52EA1F09B03A8386');
  78.         $this->addSql('ALTER TABLE order_item DROP FOREIGN KEY FK_52EA1F09896DBBDE');
  79.         $this->addSql('DROP INDEX IDX_52EA1F09B03A8386 ON order_item');
  80.         $this->addSql('DROP INDEX IDX_52EA1F09896DBBDE ON order_item');
  81.         $this->addSql('ALTER TABLE order_item DROP created_by_id, DROP updated_by_id');
  82.         
  83.         $this->addSql('ALTER TABLE orders DROP created_at, CHANGE created_by_id createdBy INT DEFAULT NULL');
  84.         $this->addSql('ALTER TABLE orders ADD CONSTRAINT FK_E52FFDEED3564642 FOREIGN KEY (createdBy) REFERENCES users (id)');
  85.         $this->addSql('ALTER TABLE payment_transaction CHANGE `created_at` `createdAt` DATETIME NOT NULL');
  86.         $this->addSql('ALTER TABLE payment_transaction CHANGE `updated_at` `updatedAt` DATETIME NOT NULL');
  87.         $this->addSql('ALTER TABLE payment_transaction CHANGE `created_by_id` `createdBy` INT DEFAULT NULL');
  88.         $this->addSql('ALTER TABLE payment_transaction CHANGE `updated_by_id` `updatedBy` INT DEFAULT NULL');
  89.         
  90.         $this->addSql('ALTER TABLE receipt CHANGE `created_at` `createdAt` DATETIME NOT NULL');
  91.         $this->addSql('ALTER TABLE receipt CHANGE `updated_at` `updatedAt` DATETIME NOT NULL');
  92.         $this->addSql('ALTER TABLE receipt CHANGE `created_by_id` `createdBy` INT DEFAULT NULL');
  93.         $this->addSql('ALTER TABLE receipt CHANGE `updated_by_id` `updatedBy` INT DEFAULT NULL');
  94.     }
  95.     public function isTransactional(): bool
  96.     {
  97.         return false;
  98.     }
  99. }