migrations/Version20250902134800.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 Version20250902134800 extends AbstractMigration
  10. {
  11.     public function getDescription(): string
  12.     {
  13.         return '';
  14.     }
  15.     public function up(Schema $schema): void
  16.     {
  17.         $this->addSql('DROP TABLE IF EXISTS configurateur_session_data CASCADE');
  18.         $this->addSql('DROP TABLE IF EXISTS projet CASCADE');
  19.         $this->addSql('CREATE TABLE projet (
  20.     id INT AUTO_INCREMENT NOT NULL,
  21.     client_id INT DEFAULT NULL,
  22.     configurateur_version VARCHAR(7) NOT NULL,
  23.     title VARCHAR(255) NOT NULL,
  24.     purchased_price INT DEFAULT NULL,
  25.     created_at DATETIME NOT NULL,
  26.     updated_at DATETIME NOT NULL,
  27.     saved_at DATETIME DEFAULT NULL,
  28.     state VARCHAR(255) NOT NULL DEFAULT \'new\',
  29.     proginov_id VARCHAR(255) DEFAULT NULL,
  30.     proginov_lines LONGTEXT DEFAULT NULL COMMENT \'JSON de lignes Proginov\',
  31.     manufacturing_order JSON DEFAULT NULL,
  32.     type VARCHAR(255) NOT NULL,
  33.     uid VARCHAR(64) NOT NULL,
  34.     last_processed_price INT DEFAULT NULL,
  35.     configuration JSON DEFAULT NULL,
  36.     PRIMARY KEY(id)
  37. ) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  38.         $this->addSql('CREATE TABLE configurateur_session_data (
  39.     id INT AUTO_INCREMENT NOT NULL,
  40.     projet_id INT DEFAULT NULL,
  41.     client_id INT DEFAULT NULL,
  42.     session_id VARCHAR(255) NOT NULL,
  43.     authpass VARCHAR(255) DEFAULT NULL,
  44.     projet_uid VARCHAR(255) NOT NULL,
  45.     current TINYINT(1) NOT NULL,
  46.     scene_key VARCHAR(255) NOT NULL,
  47.     data LONGTEXT NOT NULL,
  48.     PRIMARY KEY(id)
  49. ) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  50.         $this->addSql('ALTER TABLE projet ADD CONSTRAINT FK_50159CA919EB6921 FOREIGN KEY (client_id) REFERENCES client (id)');
  51.         $this->addSql('ALTER TABLE configurateur_session_data ADD CONSTRAINT FK_77F58FA0C18272 FOREIGN KEY (projet_id) REFERENCES projet (id)');
  52.         $this->addSql('ALTER TABLE configurateur_session_data ADD CONSTRAINT FK_77F58FA019EB6921 FOREIGN KEY (client_id) REFERENCES client (id)');
  53.     }
  54.     public function down(Schema $schema): void
  55.     {
  56.         // this down() migration is auto-generated, please modify it to your needs
  57.         $this->addSql('DROP TABLE configurateur_session_data');
  58.         $this->addSql('ALTER TABLE projet DROP FOREIGN KEY FK_50159CA919EB6921');
  59.         $this->addSql('DROP INDEX IDX_50159CA919EB6921 ON projet');
  60.         $this->addSql('ALTER TABLE projet ADD customer_id INT NOT NULL, ADD config JSON NOT NULL, ADD status VARCHAR(50) NOT NULL, DROP client_id, DROP configurateur_version, DROP title, DROP purchased_price, DROP created_at, DROP updated_at, DROP saved_at, DROP state, DROP proginov_id, DROP proginov_lines, DROP manufacturing_order, DROP type, CHANGE uid uid VARCHAR(255) NOT NULL, CHANGE last_processed_price last_processed_price NUMERIC(10, 2) DEFAULT NULL, CHANGE configuration details JSON DEFAULT NULL');
  61.         $this->addSql('ALTER TABLE projet ADD CONSTRAINT FK_50159CA99395C3F3 FOREIGN KEY (customer_id) REFERENCES client (id) ON UPDATE NO ACTION ON DELETE NO ACTION');
  62.         $this->addSql('CREATE INDEX IDX_50159CA99395C3F3 ON projet (customer_id)');
  63.     }
  64. }