<?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 Version20250902134800 extends AbstractMigration
{
public function getDescription(): string
{
return '';
}
public function up(Schema $schema): void
{
$this->addSql('DROP TABLE IF EXISTS configurateur_session_data CASCADE');
$this->addSql('DROP TABLE IF EXISTS projet CASCADE');
$this->addSql('CREATE TABLE projet (
id INT AUTO_INCREMENT NOT NULL,
client_id INT DEFAULT NULL,
configurateur_version VARCHAR(7) NOT NULL,
title VARCHAR(255) NOT NULL,
purchased_price INT DEFAULT NULL,
created_at DATETIME NOT NULL,
updated_at DATETIME NOT NULL,
saved_at DATETIME DEFAULT NULL,
state VARCHAR(255) NOT NULL DEFAULT \'new\',
proginov_id VARCHAR(255) DEFAULT NULL,
proginov_lines LONGTEXT DEFAULT NULL COMMENT \'JSON de lignes Proginov\',
manufacturing_order JSON DEFAULT NULL,
type VARCHAR(255) NOT NULL,
uid VARCHAR(64) NOT NULL,
last_processed_price INT DEFAULT NULL,
configuration JSON DEFAULT NULL,
PRIMARY KEY(id)
) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE configurateur_session_data (
id INT AUTO_INCREMENT NOT NULL,
projet_id INT DEFAULT NULL,
client_id INT DEFAULT NULL,
session_id VARCHAR(255) NOT NULL,
authpass VARCHAR(255) DEFAULT NULL,
projet_uid VARCHAR(255) NOT NULL,
current TINYINT(1) NOT NULL,
scene_key VARCHAR(255) NOT NULL,
data LONGTEXT NOT NULL,
PRIMARY KEY(id)
) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE projet ADD CONSTRAINT FK_50159CA919EB6921 FOREIGN KEY (client_id) REFERENCES client (id)');
$this->addSql('ALTER TABLE configurateur_session_data ADD CONSTRAINT FK_77F58FA0C18272 FOREIGN KEY (projet_id) REFERENCES projet (id)');
$this->addSql('ALTER TABLE configurateur_session_data ADD CONSTRAINT FK_77F58FA019EB6921 FOREIGN KEY (client_id) REFERENCES client (id)');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('DROP TABLE configurateur_session_data');
$this->addSql('ALTER TABLE projet DROP FOREIGN KEY FK_50159CA919EB6921');
$this->addSql('DROP INDEX IDX_50159CA919EB6921 ON projet');
$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');
$this->addSql('ALTER TABLE projet ADD CONSTRAINT FK_50159CA99395C3F3 FOREIGN KEY (customer_id) REFERENCES client (id) ON UPDATE NO ACTION ON DELETE NO ACTION');
$this->addSql('CREATE INDEX IDX_50159CA99395C3F3 ON projet (customer_id)');
}
}