migrations/Version20201106124049.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 Version20201106124049 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 form_page (id INT NOT NULL, sendinblue_list_ids LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', sendinblue_date_attribute_name VARCHAR(255) DEFAULT NULL, lead_email_template_filename VARCHAR(255) DEFAULT NULL, confirmation_template_filename VARCHAR(255) NOT NULL, form_config LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', sendinblue_status_id INT DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  19.         $this->addSql('CREATE TABLE lead (id INT AUTO_INCREMENT NOT NULL, form_page_id INT NOT NULL, company VARCHAR(55) DEFAULT NULL, civility VARCHAR(15) DEFAULT NULL, first_name VARCHAR(55) DEFAULT NULL, last_name VARCHAR(55) DEFAULT NULL, full_name VARCHAR(255) DEFAULT NULL, address_line1 VARCHAR(255) DEFAULT NULL, postal_code VARCHAR(5) DEFAULT NULL, city VARCHAR(100) DEFAULT NULL, email VARCHAR(255) DEFAULT NULL, phone VARCHAR(15) DEFAULT NULL, opted_in TINYINT(1) DEFAULT NULL, opted_in_partners TINYINT(1) DEFAULT NULL, query_params LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', referer VARCHAR(55) DEFAULT NULL, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, type VARCHAR(255) NOT NULL, INDEX IDX_289161CB3D2A03DF (form_page_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  20.         $this->addSql('CREATE TABLE organization (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(100) NOT NULL, slogan VARCHAR(255) DEFAULT NULL, confirm_page_body_end_code LONGTEXT DEFAULT NULL, sendinblue_api_key VARCHAR(255) DEFAULT NULL, machine_name VARCHAR(255) NOT NULL, gtm_container_id VARCHAR(255) DEFAULT NULL, form_page_head_end_code LONGTEXT DEFAULT NULL, notify_leads TINYINT(1) DEFAULT NULL, sender_email VARCHAR(255) DEFAULT NULL, gtm_datalayer LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:json)\', created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  21.         $this->addSql('CREATE TABLE page (id INT AUTO_INCREMENT NOT NULL, site_id INT NOT NULL, title VARCHAR(100) NOT NULL, assets_archive_filename VARCHAR(255) DEFAULT NULL, path_alias VARCHAR(255) NOT NULL, machine_name VARCHAR(255) NOT NULL, published TINYINT(1) DEFAULT NULL, template_filename VARCHAR(255) NOT NULL, description LONGTEXT NOT NULL, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, type VARCHAR(255) NOT NULL, INDEX IDX_140AB620F6BD1646 (site_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  22.         $this->addSql('CREATE TABLE site (id INT AUTO_INCREMENT NOT NULL, organization_id INT NOT NULL, url VARCHAR(255) NOT NULL, machine_name VARCHAR(255) NOT NULL, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, INDEX IDX_694309E432C8A3DE (organization_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  23.         $this->addSql('CREATE TABLE user (id INT AUTO_INCREMENT NOT NULL, organization_id INT DEFAULT NULL, email VARCHAR(180) NOT NULL, roles LONGTEXT NOT NULL COMMENT \'(DC2Type:json)\', password VARCHAR(255) NOT NULL, first_name VARCHAR(50) NOT NULL, last_name VARCHAR(50) NOT NULL, logged_at DATETIME DEFAULT NULL, leads_subscription TINYINT(1) DEFAULT NULL, created_at DATETIME DEFAULT NULL, updated_at DATETIME DEFAULT NULL, UNIQUE INDEX UNIQ_8D93D649E7927C74 (email), INDEX IDX_8D93D64932C8A3DE (organization_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  24.         $this->addSql('ALTER TABLE form_page ADD CONSTRAINT FK_802BB237BF396750 FOREIGN KEY (id) REFERENCES page (id) ON DELETE CASCADE');
  25.         $this->addSql('ALTER TABLE lead ADD CONSTRAINT FK_289161CB3D2A03DF FOREIGN KEY (form_page_id) REFERENCES form_page (id)');
  26.         $this->addSql('ALTER TABLE page ADD CONSTRAINT FK_140AB620F6BD1646 FOREIGN KEY (site_id) REFERENCES site (id)');
  27.         $this->addSql('ALTER TABLE site ADD CONSTRAINT FK_694309E432C8A3DE FOREIGN KEY (organization_id) REFERENCES organization (id)');
  28.         $this->addSql('ALTER TABLE user ADD CONSTRAINT FK_8D93D64932C8A3DE FOREIGN KEY (organization_id) REFERENCES organization (id)');
  29.     }
  30.     public function down(Schema $schema) : void
  31.     {
  32.         // this down() migration is auto-generated, please modify it to your needs
  33.         $this->addSql('ALTER TABLE lead DROP FOREIGN KEY FK_289161CB3D2A03DF');
  34.         $this->addSql('ALTER TABLE site DROP FOREIGN KEY FK_694309E432C8A3DE');
  35.         $this->addSql('ALTER TABLE user DROP FOREIGN KEY FK_8D93D64932C8A3DE');
  36.         $this->addSql('ALTER TABLE form_page DROP FOREIGN KEY FK_802BB237BF396750');
  37.         $this->addSql('ALTER TABLE page DROP FOREIGN KEY FK_140AB620F6BD1646');
  38.         $this->addSql('DROP TABLE form_page');
  39.         $this->addSql('DROP TABLE lead');
  40.         $this->addSql('DROP TABLE organization');
  41.         $this->addSql('DROP TABLE page');
  42.         $this->addSql('DROP TABLE site');
  43.         $this->addSql('DROP TABLE user');
  44.     }
  45. }