migrations/Version20220118035922.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 Version20220118035922 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 activity (id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, user_id BIGINT UNSIGNED DEFAULT NULL, campaign_id BIGINT UNSIGNED DEFAULT NULL, video_id BIGINT UNSIGNED DEFAULT NULL, status SMALLINT NOT NULL, amount DOUBLE PRECISION UNSIGNED DEFAULT \'0\' NOT NULL, paid DOUBLE PRECISION UNSIGNED DEFAULT \'0\' NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME DEFAULT NULL, payed_at DATETIME DEFAULT NULL, INDEX IDX_AC74095AA76ED395 (user_id), INDEX IDX_AC74095AF639F774 (campaign_id), UNIQUE INDEX UNIQ_AC74095A29C1004E (video_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
  19.         $this->addSql('CREATE TABLE campaign (id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, song_id BIGINT UNSIGNED DEFAULT NULL, user_id BIGINT UNSIGNED DEFAULT NULL, status SMALLINT UNSIGNED DEFAULT 0 NOT NULL, speed SMALLINT UNSIGNED DEFAULT 1 NOT NULL, gender SMALLINT UNSIGNED DEFAULT 3 NOT NULL, instructions LONGTEXT DEFAULT NULL, description LONGTEXT DEFAULT NULL, amount DOUBLE PRECISION DEFAULT \'500\' NOT NULL, paid DOUBLE PRECISION UNSIGNED DEFAULT \'0\' NOT NULL, min_views_per_video INT UNSIGNED DEFAULT NULL, max_views_per_video INT UNSIGNED DEFAULT NULL, max_price_per_video INT UNSIGNED DEFAULT NULL, automatically_apply TINYINT(1) NOT NULL, automatically_pay TINYINT(1) DEFAULT 0 NOT NULL, deadline_at DATETIME DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME DEFAULT NULL, payed_at DATETIME DEFAULT NULL, INDEX IDX_1F1512DDA0BDB2F3 (song_id), INDEX IDX_1F1512DDA76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
  20.         $this->addSql('CREATE TABLE campaign_country (campaign_id BIGINT UNSIGNED NOT NULL, country_id INT UNSIGNED NOT NULL, INDEX IDX_FBC9554AF639F774 (campaign_id), INDEX IDX_FBC9554AF92F3E70 (country_id), PRIMARY KEY(campaign_id, country_id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
  21.         $this->addSql('CREATE TABLE campaign_roster (campaign_id BIGINT UNSIGNED NOT NULL, roster_id BIGINT UNSIGNED NOT NULL, INDEX IDX_BDFAD454F639F774 (campaign_id), INDEX IDX_BDFAD45475404483 (roster_id), PRIMARY KEY(campaign_id, roster_id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
  22.         $this->addSql('CREATE TABLE country (id INT UNSIGNED AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, iso_code VARCHAR(2) NOT NULL, UNIQUE INDEX name (name), UNIQUE INDEX iso_code (iso_code), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
  23.         $this->addSql('CREATE TABLE creator (id BIGINT UNSIGNED NOT NULL, country_id INT UNSIGNED DEFAULT NULL, minimal_amount INT NOT NULL, is_phone_notify_campaigns TINYINT(1) NOT NULL, is_email_notify_campaigns TINYINT(1) NOT NULL, is_email_notify_newsletter TINYINT(1) NOT NULL, followers BIGINT UNSIGNED NOT NULL, averageViews BIGINT UNSIGNED NOT NULL, updated_at DATETIME NOT NULL, INDEX IDX_BC06EA63F92F3E70 (country_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
  24.         $this->addSql('CREATE TABLE file (name VARCHAR(255) NOT NULL, path VARCHAR(255) NOT NULL, PRIMARY KEY(name)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
  25.         $this->addSql('CREATE TABLE payment_account (id BIGINT UNSIGNED NOT NULL, is_connected TINYINT(1) NOT NULL, account_id VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
  26.         $this->addSql('CREATE TABLE payment_balance (id BIGINT UNSIGNED NOT NULL, value DOUBLE PRECISION DEFAULT \'0\' NOT NULL, changed_at DATETIME NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
  27.         $this->addSql('CREATE TABLE payment_history (id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, user_id BIGINT UNSIGNED NOT NULL, created_at DATETIME NOT NULL, type SMALLINT UNSIGNED NOT NULL, amount DOUBLE PRECISION NOT NULL, data JSON NOT NULL, INDEX IDX_3EF37EA1A76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
  28.         $this->addSql('CREATE TABLE roster (id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, sponsor_id BIGINT UNSIGNED DEFAULT NULL, name VARCHAR(255) NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME DEFAULT NULL, INDEX IDX_60B9ADF912F7FB51 (sponsor_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
  29.         $this->addSql('CREATE TABLE roster_creator (roster_id BIGINT UNSIGNED NOT NULL, creator_id BIGINT UNSIGNED NOT NULL, INDEX IDX_AAE1832175404483 (roster_id), INDEX IDX_AAE1832161220EA6 (creator_id), PRIMARY KEY(roster_id, creator_id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
  30.         $this->addSql('CREATE TABLE song (id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, file VARCHAR(255) DEFAULT NULL, created_at DATETIME NOT NULL, name VARCHAR(255) NOT NULL, artist VARCHAR(255) NOT NULL, url VARCHAR(255) NOT NULL, UNIQUE INDEX unique_song (name, artist, url), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
  31.         $this->addSql('CREATE TABLE sponsor (id BIGINT UNSIGNED NOT NULL, company_name VARCHAR(255) NOT NULL, company_website VARCHAR(255) NOT NULL, job_title VARCHAR(255) NOT NULL, about_us LONGTEXT DEFAULT NULL, promote SMALLINT UNSIGNED DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
  32.         $this->addSql('CREATE TABLE tiktok_auth (id BINARY(16) NOT NULL COMMENT \'(DC2Type:uuid)\', user_id BIGINT UNSIGNED DEFAULT NULL, access_token VARCHAR(255) NOT NULL, refresh_token VARCHAR(255) NOT NULL, access_token_expired_at DATETIME NOT NULL, refresh_token_expired_at DATETIME NOT NULL, UNIQUE INDEX UNIQ_82B6CBFEA76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
  33.         $this->addSql('CREATE TABLE user (id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, gender SMALLINT DEFAULT NULL, status SMALLINT NOT NULL, email VARCHAR(255) DEFAULT NULL, password VARCHAR(255) DEFAULT NULL, birthday DATE DEFAULT NULL, phone_number BIGINT UNSIGNED DEFAULT NULL, first_name VARCHAR(255) DEFAULT NULL, last_name VARCHAR(255) DEFAULT NULL, username VARCHAR(255) DEFAULT NULL, roles LONGTEXT NOT NULL COMMENT \'(DC2Type:simple_array)\', created_at DATETIME NOT NULL, updated_at DATETIME DEFAULT NULL, deleted_at DATETIME DEFAULT NULL, UNIQUE INDEX unique_email (email), UNIQUE INDEX unique_phone (phone_number), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
  34.         $this->addSql('CREATE TABLE user_code (id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, user_id BIGINT UNSIGNED NOT NULL, type SMALLINT UNSIGNED NOT NULL, code VARCHAR(255) NOT NULL, expired_at DATETIME NOT NULL, INDEX IDX_D947C51A76ED395 (user_id), INDEX user_code (user_id, code, expired_at), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
  35.         $this->addSql('CREATE TABLE video (id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, user_id BIGINT UNSIGNED DEFAULT NULL, url LONGTEXT NOT NULL, external_id VARCHAR(255) NOT NULL, title VARCHAR(255) NOT NULL, description LONGTEXT NOT NULL, duration INT NOT NULL, created_at DATETIME NOT NULL, views BIGINT UNSIGNED NOT NULL, likes BIGINT UNSIGNED NOT NULL, comments BIGINT UNSIGNED NOT NULL, shares BIGINT UNSIGNED NOT NULL, amount DOUBLE PRECISION UNSIGNED NOT NULL, INDEX IDX_7CC7DA2CA76ED395 (user_id), UNIQUE INDEX unique_external_id (external_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
  36.         $this->addSql('CREATE TABLE video_statistics_history (id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, video_id BIGINT UNSIGNED NOT NULL, views BIGINT UNSIGNED DEFAULT 0 NOT NULL, likes BIGINT UNSIGNED DEFAULT 0 NOT NULL, comments BIGINT UNSIGNED DEFAULT 0 NOT NULL, shares BIGINT UNSIGNED DEFAULT 0 NOT NULL, datetime DATETIME NOT NULL, INDEX IDX_55592C6629C1004E (video_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
  37.         $this->addSql('CREATE TABLE waitlist (id BIGINT AUTO_INCREMENT NOT NULL, country_id INT UNSIGNED DEFAULT NULL, avg_views INT UNSIGNED NOT NULL, first_name VARCHAR(255) NOT NULL, last_name VARCHAR(255) NOT NULL, phone VARCHAR(255) DEFAULT NULL, email VARCHAR(255) NOT NULL, username VARCHAR(255) DEFAULT NULL, created_at DATETIME NOT NULL, INDEX IDX_A8533F28F92F3E70 (country_id), UNIQUE INDEX email (email), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB');
  38.         $this->addSql('ALTER TABLE activity ADD CONSTRAINT FK_AC74095AA76ED395 FOREIGN KEY (user_id) REFERENCES user (id)');
  39.         $this->addSql('ALTER TABLE activity ADD CONSTRAINT FK_AC74095AF639F774 FOREIGN KEY (campaign_id) REFERENCES campaign (id)');
  40.         $this->addSql('ALTER TABLE activity ADD CONSTRAINT FK_AC74095A29C1004E FOREIGN KEY (video_id) REFERENCES video (id)');
  41.         $this->addSql('ALTER TABLE campaign ADD CONSTRAINT FK_1F1512DDA0BDB2F3 FOREIGN KEY (song_id) REFERENCES song (id)');
  42.         $this->addSql('ALTER TABLE campaign ADD CONSTRAINT FK_1F1512DDA76ED395 FOREIGN KEY (user_id) REFERENCES user (id)');
  43.         $this->addSql('ALTER TABLE campaign_country ADD CONSTRAINT FK_FBC9554AF639F774 FOREIGN KEY (campaign_id) REFERENCES campaign (id) ON DELETE CASCADE');
  44.         $this->addSql('ALTER TABLE campaign_country ADD CONSTRAINT FK_FBC9554AF92F3E70 FOREIGN KEY (country_id) REFERENCES country (id) ON DELETE CASCADE');
  45.         $this->addSql('ALTER TABLE campaign_roster ADD CONSTRAINT FK_BDFAD454F639F774 FOREIGN KEY (campaign_id) REFERENCES campaign (id) ON DELETE CASCADE');
  46.         $this->addSql('ALTER TABLE campaign_roster ADD CONSTRAINT FK_BDFAD45475404483 FOREIGN KEY (roster_id) REFERENCES roster (id) ON DELETE CASCADE');
  47.         $this->addSql('ALTER TABLE creator ADD CONSTRAINT FK_BC06EA63F92F3E70 FOREIGN KEY (country_id) REFERENCES country (id)');
  48.         $this->addSql('ALTER TABLE creator ADD CONSTRAINT FK_BC06EA63BF396750 FOREIGN KEY (id) REFERENCES user (id)');
  49.         $this->addSql('ALTER TABLE payment_account ADD CONSTRAINT FK_647F584EBF396750 FOREIGN KEY (id) REFERENCES user (id)');
  50.         $this->addSql('ALTER TABLE payment_balance ADD CONSTRAINT FK_B5BD1114BF396750 FOREIGN KEY (id) REFERENCES user (id)');
  51.         $this->addSql('ALTER TABLE payment_history ADD CONSTRAINT FK_3EF37EA1A76ED395 FOREIGN KEY (user_id) REFERENCES user (id)');
  52.         $this->addSql('ALTER TABLE roster ADD CONSTRAINT FK_60B9ADF912F7FB51 FOREIGN KEY (sponsor_id) REFERENCES user (id)');
  53.         $this->addSql('ALTER TABLE roster_creator ADD CONSTRAINT FK_AAE1832175404483 FOREIGN KEY (roster_id) REFERENCES roster (id) ON DELETE CASCADE');
  54.         $this->addSql('ALTER TABLE roster_creator ADD CONSTRAINT FK_AAE1832161220EA6 FOREIGN KEY (creator_id) REFERENCES creator (id) ON DELETE CASCADE');
  55.         $this->addSql('ALTER TABLE sponsor ADD CONSTRAINT FK_818CC9D4BF396750 FOREIGN KEY (id) REFERENCES user (id)');
  56.         $this->addSql('ALTER TABLE tiktok_auth ADD CONSTRAINT FK_82B6CBFEA76ED395 FOREIGN KEY (user_id) REFERENCES user (id)');
  57.         $this->addSql('ALTER TABLE user_code ADD CONSTRAINT FK_D947C51A76ED395 FOREIGN KEY (user_id) REFERENCES user (id)');
  58.         $this->addSql('ALTER TABLE video ADD CONSTRAINT FK_7CC7DA2CA76ED395 FOREIGN KEY (user_id) REFERENCES user (id)');
  59.         $this->addSql('ALTER TABLE video_statistics_history ADD CONSTRAINT FK_55592C6629C1004E FOREIGN KEY (video_id) REFERENCES video (id)');
  60.         $this->addSql('ALTER TABLE waitlist ADD CONSTRAINT FK_A8533F28F92F3E70 FOREIGN KEY (country_id) REFERENCES country (id)');
  61.     }
  62.     public function down(Schema $schema): void
  63.     {
  64.         // this down() migration is auto-generated, please modify it to your needs
  65.         $this->addSql('ALTER TABLE activity DROP FOREIGN KEY FK_AC74095AF639F774');
  66.         $this->addSql('ALTER TABLE campaign_country DROP FOREIGN KEY FK_FBC9554AF639F774');
  67.         $this->addSql('ALTER TABLE campaign_roster DROP FOREIGN KEY FK_BDFAD454F639F774');
  68.         $this->addSql('ALTER TABLE campaign_country DROP FOREIGN KEY FK_FBC9554AF92F3E70');
  69.         $this->addSql('ALTER TABLE creator DROP FOREIGN KEY FK_BC06EA63F92F3E70');
  70.         $this->addSql('ALTER TABLE waitlist DROP FOREIGN KEY FK_A8533F28F92F3E70');
  71.         $this->addSql('ALTER TABLE roster_creator DROP FOREIGN KEY FK_AAE1832161220EA6');
  72.         $this->addSql('ALTER TABLE campaign_roster DROP FOREIGN KEY FK_BDFAD45475404483');
  73.         $this->addSql('ALTER TABLE roster_creator DROP FOREIGN KEY FK_AAE1832175404483');
  74.         $this->addSql('ALTER TABLE campaign DROP FOREIGN KEY FK_1F1512DDA0BDB2F3');
  75.         $this->addSql('ALTER TABLE activity DROP FOREIGN KEY FK_AC74095AA76ED395');
  76.         $this->addSql('ALTER TABLE campaign DROP FOREIGN KEY FK_1F1512DDA76ED395');
  77.         $this->addSql('ALTER TABLE creator DROP FOREIGN KEY FK_BC06EA63BF396750');
  78.         $this->addSql('ALTER TABLE payment_account DROP FOREIGN KEY FK_647F584EBF396750');
  79.         $this->addSql('ALTER TABLE payment_balance DROP FOREIGN KEY FK_B5BD1114BF396750');
  80.         $this->addSql('ALTER TABLE payment_history DROP FOREIGN KEY FK_3EF37EA1A76ED395');
  81.         $this->addSql('ALTER TABLE roster DROP FOREIGN KEY FK_60B9ADF912F7FB51');
  82.         $this->addSql('ALTER TABLE sponsor DROP FOREIGN KEY FK_818CC9D4BF396750');
  83.         $this->addSql('ALTER TABLE tiktok_auth DROP FOREIGN KEY FK_82B6CBFEA76ED395');
  84.         $this->addSql('ALTER TABLE user_code DROP FOREIGN KEY FK_D947C51A76ED395');
  85.         $this->addSql('ALTER TABLE video DROP FOREIGN KEY FK_7CC7DA2CA76ED395');
  86.         $this->addSql('ALTER TABLE activity DROP FOREIGN KEY FK_AC74095A29C1004E');
  87.         $this->addSql('ALTER TABLE video_statistics_history DROP FOREIGN KEY FK_55592C6629C1004E');
  88.         $this->addSql('DROP TABLE activity');
  89.         $this->addSql('DROP TABLE campaign');
  90.         $this->addSql('DROP TABLE campaign_country');
  91.         $this->addSql('DROP TABLE campaign_roster');
  92.         $this->addSql('DROP TABLE country');
  93.         $this->addSql('DROP TABLE creator');
  94.         $this->addSql('DROP TABLE file');
  95.         $this->addSql('DROP TABLE payment_account');
  96.         $this->addSql('DROP TABLE payment_balance');
  97.         $this->addSql('DROP TABLE payment_history');
  98.         $this->addSql('DROP TABLE roster');
  99.         $this->addSql('DROP TABLE roster_creator');
  100.         $this->addSql('DROP TABLE song');
  101.         $this->addSql('DROP TABLE sponsor');
  102.         $this->addSql('DROP TABLE tiktok_auth');
  103.         $this->addSql('DROP TABLE user');
  104.         $this->addSql('DROP TABLE user_code');
  105.         $this->addSql('DROP TABLE video');
  106.         $this->addSql('DROP TABLE video_statistics_history');
  107.         $this->addSql('DROP TABLE waitlist');
  108.     }
  109. }