migrations/Version20260721065217.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 Version20260721065217 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('CREATE TABLE channel_configuration_dsf_services (channel_configuration_id INT NOT NULL, service_id INT NOT NULL, INDEX IDX_24EA11C4A493463 (channel_configuration_id), INDEX IDX_24EA11CED5CA9E6 (service_id), PRIMARY KEY(channel_configuration_id, service_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  19. $this->addSql('CREATE TABLE file_admin_channel_user_data_agreement (id INT NOT NULL, status VARCHAR(255) DEFAULT NULL, refusal_reason VARCHAR(255) DEFAULT NULL, signed_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  20. $this->addSql('CREATE TABLE file_admin_channel_user_data_document (id INT NOT NULL, channel_user_data_id VARCHAR(36) NOT NULL, document_issued_date DATE NOT NULL, last_notified_at DATE DEFAULT NULL, INDEX IDX_1D42B0D523887597 (channel_user_data_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  21. $this->addSql('ALTER TABLE channel_configuration_dsf_services ADD CONSTRAINT FK_24EA11C4A493463 FOREIGN KEY (channel_configuration_id) REFERENCES channel_configuration (id) ON DELETE CASCADE');
  22. $this->addSql('ALTER TABLE channel_configuration_dsf_services ADD CONSTRAINT FK_24EA11CED5CA9E6 FOREIGN KEY (service_id) REFERENCES channel_services (id) ON DELETE CASCADE');
  23. $this->addSql('ALTER TABLE file_admin_channel_user_data_agreement ADD CONSTRAINT FK_617F834CBF396750 FOREIGN KEY (id) REFERENCES file (id) ON DELETE CASCADE');
  24. $this->addSql('ALTER TABLE file_admin_channel_user_data_document ADD CONSTRAINT FK_1D42B0D523887597 FOREIGN KEY (channel_user_data_id) REFERENCES channel_user_data_admin (id) ON DELETE CASCADE');
  25. $this->addSql('ALTER TABLE file_admin_channel_user_data_document ADD CONSTRAINT FK_1D42B0D5BF396750 FOREIGN KEY (id) REFERENCES file (id) ON DELETE CASCADE');
  26. // Moves data from "certificate" to abstract "document"
  27. $this->addSql('
  28. INSERT INTO file_admin_channel_user_data_document (
  29. id,
  30. channel_user_data_id,
  31. document_issued_date,
  32. last_notified_at
  33. )
  34. SELECT
  35. certificate.id,
  36. certificate.channel_user_data_id,
  37. DATE(file.created_at),
  38. NULL
  39. FROM file_admin_channel_user_data_certificate certificate
  40. INNER JOIN file ON file.id = certificate.id
  41. ');
  42. $this->addSql('ALTER TABLE file_admin_channel_user_data_certificate DROP FOREIGN KEY FK_73B71E8F23887597');
  43. $this->addSql('DROP INDEX IDX_73B71E8F23887597 ON file_admin_channel_user_data_certificate');
  44. $this->addSql('DROP INDEX UNIQ_73B71E8F23887597F2C76A50 ON file_admin_channel_user_data_certificate');
  45. $this->addSql('ALTER TABLE file_admin_channel_user_data_certificate DROP channel_user_data_id');
  46. }
  47. public function down(Schema $schema): void
  48. {
  49. // this down() migration is auto-generated, please modify it to your needs
  50. $this->addSql('ALTER TABLE channel_configuration_dsf_services DROP FOREIGN KEY FK_24EA11C4A493463');
  51. $this->addSql('ALTER TABLE channel_configuration_dsf_services DROP FOREIGN KEY FK_24EA11CED5CA9E6');
  52. $this->addSql('ALTER TABLE file_admin_channel_user_data_agreement DROP FOREIGN KEY FK_617F834CBF396750');
  53. $this->addSql('ALTER TABLE file_admin_channel_user_data_document DROP FOREIGN KEY FK_1D42B0D523887597');
  54. $this->addSql('ALTER TABLE file_admin_channel_user_data_document DROP FOREIGN KEY FK_1D42B0D5BF396750');
  55. $this->addSql('ALTER TABLE file_admin_channel_user_data_certificate ADD channel_user_data_id VARCHAR(36) DEFAULT NULL');
  56. $this->addSql('UPDATE file_admin_channel_user_data_certificate certificate INNER JOIN file_admin_channel_user_data_document document ON document.id = certificate.id SET certificate.channel_user_data_id = document.channel_user_data_id');
  57. $this->addSql('ALTER TABLE file_admin_channel_user_data_certificate MODIFY channel_user_data_id VARCHAR(36) NOT NULL');
  58. $this->addSql('DROP TABLE channel_configuration_dsf_services');
  59. $this->addSql('DROP TABLE file_admin_channel_user_data_agreement');
  60. $this->addSql('DROP TABLE file_admin_channel_user_data_document');
  61. $this->addSql('ALTER TABLE file_admin_channel_user_data_certificate ADD CONSTRAINT FK_73B71E8F23887597 FOREIGN KEY (channel_user_data_id) REFERENCES channel_user_data_admin (id) ON DELETE CASCADE');
  62. $this->addSql('CREATE INDEX IDX_73B71E8F23887597 ON file_admin_channel_user_data_certificate (channel_user_data_id)');
  63. $this->addSql('CREATE UNIQUE INDEX UNIQ_73B71E8F23887597F2C76A50 ON file_admin_channel_user_data_certificate (channel_user_data_id, certificate_type)');
  64. }
  65. }