migrations/Version20250828143128.php line 1

  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 Version20250828143128 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 social_media DROP FOREIGN KEY FK_20BC159E19EB6921');
  19.         $this->addSql('CREATE TABLE refresh_tokens (id INT AUTO_INCREMENT NOT NULL, refresh_token VARCHAR(128) NOT NULL, username VARCHAR(255) NOT NULL, valid DATETIME NOT NULL, UNIQUE INDEX UNIQ_9BACE7E1C74F2195 (refresh_token), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  20.         $this->addSql('ALTER TABLE client DROP FOREIGN KEY FK_C7440455A9359434');
  21.         $this->addSql('ALTER TABLE blog_post_category DROP FOREIGN KEY FK_CA275A0C12469DE2');
  22.         $this->addSql('ALTER TABLE blog_post_category DROP FOREIGN KEY FK_CA275A0CA77FBEAF');
  23.         $this->addSql('DROP TABLE category');
  24.         $this->addSql('DROP TABLE plan');
  25.         $this->addSql('DROP TABLE blog_post');
  26.         $this->addSql('DROP TABLE client');
  27.         $this->addSql('DROP TABLE blog_post_category');
  28.         $this->addSql('ALTER TABLE post_record ADD facebook_video_views10s VARCHAR(255) DEFAULT NULL, ADD media_views VARCHAR(255) DEFAULT NULL, ADD tiktoker_post_reach VARCHAR(255) DEFAULT NULL, ADD tiktoker_post_total_time_watched VARCHAR(255) DEFAULT NULL');
  29.         $this->addSql('ALTER TABLE record_social_media ADD tiktoker_profile_media_count INT DEFAULT NULL, ADD tiktoker_profile_like_count INT DEFAULT NULL');
  30.         $this->addSql('DROP INDEX IDX_20BC159E19EB6921 ON social_media');
  31.         $this->addSql('ALTER TABLE social_media ADD client_external_id VARCHAR(255) DEFAULT NULL, DROP client_id');
  32.         $this->addSql('ALTER TABLE user CHANGE roles roles JSON NOT NULL COMMENT \'(DC2Type:json)\'');
  33.     }
  34.     public function down(Schema $schema): void
  35.     {
  36.         // this down() migration is auto-generated, please modify it to your needs
  37.         $this->addSql('CREATE TABLE category (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
  38.         $this->addSql('CREATE TABLE plan (id INT AUTO_INCREMENT NOT NULL, price NUMERIC(10, 0) NOT NULL, social_media_plafond INT NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
  39.         $this->addSql('CREATE TABLE blog_post (id INT AUTO_INCREMENT NOT NULL, titleblog VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, image_name VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, content LONGTEXT CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', published_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', updated_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', is_valid TINYINT(1) NOT NULL, deleted TINYINT(1) NOT NULL, status VARCHAR(50) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, comment LONGTEXT CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, slug VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
  40.         $this->addSql('CREATE TABLE client (id INT AUTO_INCREMENT NOT NULL, plan_client_id INT DEFAULT NULL, name VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, url VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, website LONGTEXT CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, plan VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, status VARCHAR(255) CHARACTER SET utf8mb4 DEFAULT NULL COLLATE `utf8mb4_unicode_ci`, external_id VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, deleted TINYINT(1) DEFAULT NULL, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, INDEX IDX_C7440455A9359434 (plan_client_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
  41.         $this->addSql('CREATE TABLE blog_post_category (blog_post_id INT NOT NULL, category_id INT NOT NULL, INDEX IDX_CA275A0CA77FBEAF (blog_post_id), INDEX IDX_CA275A0C12469DE2 (category_id), PRIMARY KEY(blog_post_id, category_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB COMMENT = \'\' ');
  42.         $this->addSql('ALTER TABLE client ADD CONSTRAINT FK_C7440455A9359434 FOREIGN KEY (plan_client_id) REFERENCES plan (id)');
  43.         $this->addSql('ALTER TABLE blog_post_category ADD CONSTRAINT FK_CA275A0C12469DE2 FOREIGN KEY (category_id) REFERENCES category (id) ON DELETE CASCADE');
  44.         $this->addSql('ALTER TABLE blog_post_category ADD CONSTRAINT FK_CA275A0CA77FBEAF FOREIGN KEY (blog_post_id) REFERENCES blog_post (id) ON DELETE CASCADE');
  45.         $this->addSql('DROP TABLE refresh_tokens');
  46.         $this->addSql('ALTER TABLE post_record DROP facebook_video_views10s, DROP media_views, DROP tiktoker_post_reach, DROP tiktoker_post_total_time_watched');
  47.         $this->addSql('ALTER TABLE record_social_media DROP tiktoker_profile_media_count, DROP tiktoker_profile_like_count');
  48.         $this->addSql('ALTER TABLE social_media ADD client_id INT NOT NULL, DROP client_external_id');
  49.         $this->addSql('ALTER TABLE social_media ADD CONSTRAINT FK_20BC159E19EB6921 FOREIGN KEY (client_id) REFERENCES client (id)');
  50.         $this->addSql('CREATE INDEX IDX_20BC159E19EB6921 ON social_media (client_id)');
  51.         $this->addSql('ALTER TABLE user CHANGE roles roles JSON NOT NULL COMMENT \'(DC2Type:json)\'');
  52.     }
  53. }