migrations/Version20220518155539.php line 1

Open in your IDE?
  1. <?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 Version20220518155539 extends AbstractMigration
    {
        public function getDescription(): string
        {
            return '';
        }
    
        public function up(Schema $schema): void
        {
            // this up() migration is auto-generated, please modify it to your needs
            $this->addSql('CREATE TABLE administrator (id INT AUTO_INCREMENT NOT NULL, first_name VARCHAR(255) NOT NULL, last_name VARCHAR(255) NOT NULL, sexe VARCHAR(255) NOT NULL, phone_number VARCHAR(255) DEFAULT NULL, photo VARCHAR(255) DEFAULT NULL, email VARCHAR(180) NOT NULL, roles JSON DEFAULT NULL, password VARCHAR(255) NOT NULL, created_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', updated_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', first_login TINYINT(1) NOT NULL, statut TINYINT(1) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
            $this->addSql('CREATE TABLE consultation (id INT AUTO_INCREMENT NOT NULL, specialty_id_id INT DEFAULT NULL, patient_id_id INT DEFAULT NULL, medical_staff_id_id INT DEFAULT NULL, admin_approve_id_id INT DEFAULT NULL, hour_activity_id_id INT DEFAULT NULL, libelle VARCHAR(255) DEFAULT NULL, date_consultation DATETIME NOT NULL, statut TINYINT(1) NOT NULL, amount VARCHAR(255) DEFAULT NULL, type_consultation VARCHAR(255) DEFAULT NULL, mode_consultation VARCHAR(255) DEFAULT NULL, patient_comment LONGTEXT DEFAULT NULL, medical_staff_comment LONGTEXT DEFAULT NULL, next_consultation_date DATETIME DEFAULT NULL, clinic_id INT DEFAULT NULL, meeting_link VARCHAR(255) DEFAULT NULL, target VARCHAR(255) DEFAULT NULL, ordonnance_path VARCHAR(255) DEFAULT NULL, payment TINYINT(1) DEFAULT NULL, created_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', updated_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', payment_identification VARCHAR(255) DEFAULT NULL, additional_analysis TINYINT(1) NOT NULL, new_meeting_link VARCHAR(255) DEFAULT NULL, additional_analysis_file VARCHAR(255) DEFAULT NULL, symptoms LONGTEXT DEFAULT NULL COMMENT \'(DC2Type:array)\', doctor_platform_comment LONGTEXT DEFAULT NULL, consultation_rating INT DEFAULT NULL, is_revoke TINYINT(1) NOT NULL, is_canceled TINYINT(1) NOT NULL, is_refunded TINYINT(1) NOT NULL, INDEX IDX_964685A6DC32BB7B (specialty_id_id), INDEX IDX_964685A6EA724598 (patient_id_id), INDEX IDX_964685A69058F922 (medical_staff_id_id), INDEX IDX_964685A65ED27AD4 (admin_approve_id_id), INDEX IDX_964685A6BA160E7 (hour_activity_id_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
            $this->addSql('CREATE TABLE hour_activity (id INT AUTO_INCREMENT NOT NULL, medical_staff_id_id INT DEFAULT NULL, start_date DATETIME NOT NULL, end_date DATETIME NOT NULL, INDEX IDX_18364F489058F922 (medical_staff_id_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
            $this->addSql('CREATE TABLE medical_specialty (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
            $this->addSql('CREATE TABLE medical_staff (id INT AUTO_INCREMENT NOT NULL, first_name VARCHAR(255) NOT NULL, last_name VARCHAR(255) NOT NULL, sexe VARCHAR(255) DEFAULT NULL, date_of_birth DATE NOT NULL, native_country VARCHAR(255) NOT NULL, country_of_residence VARCHAR(255) NOT NULL, phone_number VARCHAR(255) NOT NULL, phone_number2 VARCHAR(255) DEFAULT NULL, registration_statut VARCHAR(255) DEFAULT NULL, photo VARCHAR(255) DEFAULT NULL, function VARCHAR(255) DEFAULT NULL, diplome_path VARCHAR(255) NOT NULL, consultation_urgent_amount VARCHAR(255) NOT NULL, consultation_rdv_amount VARCHAR(255) NOT NULL, year_of_experience VARCHAR(255) NOT NULL, identification_number VARCHAR(255) NOT NULL, online TINYINT(1) NOT NULL, email VARCHAR(180) NOT NULL, roles JSON NOT NULL, password VARCHAR(255) NOT NULL, otp TINYINT(1) NOT NULL, created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', updated_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', is_verified TINYINT(1) NOT NULL, is_clinical TINYINT(1) NOT NULL, statut TINYINT(1) NOT NULL, nb_consultations_canceled INT DEFAULT NULL, date_limit_blocked DATETIME DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
            $this->addSql('CREATE TABLE medical_staff_medical_specialty (medical_staff_id INT NOT NULL, medical_specialty_id INT NOT NULL, INDEX IDX_80EA25571D7BA9A (medical_staff_id), INDEX IDX_80EA255BFC81879 (medical_specialty_id), PRIMARY KEY(medical_staff_id, medical_specialty_id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
            $this->addSql('CREATE TABLE patient (id INT AUTO_INCREMENT NOT NULL, first_name VARCHAR(255) NOT NULL, last_name VARCHAR(255) NOT NULL, sexe VARCHAR(255) NOT NULL, date_of_birth DATE NOT NULL, native_country VARCHAR(255) NOT NULL, country_of_residence VARCHAR(255) NOT NULL, phone_number VARCHAR(255) NOT NULL, latitude VARCHAR(255) DEFAULT NULL, longitude VARCHAR(255) DEFAULT NULL, photo VARCHAR(255) DEFAULT NULL, weight VARCHAR(255) DEFAULT NULL, height VARCHAR(255) DEFAULT NULL, email VARCHAR(180) NOT NULL, roles JSON NOT NULL, password VARCHAR(255) NOT NULL, otp TINYINT(1) NOT NULL, created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', updated_at DATETIME DEFAULT NULL COMMENT \'(DC2Type:datetime_immutable)\', is_verified TINYINT(1) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
            $this->addSql('CREATE TABLE type_medical_staff (id INT AUTO_INCREMENT NOT NULL, name VARCHAR(255) NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
            $this->addSql('CREATE TABLE `user` (id INT AUTO_INCREMENT NOT NULL, email VARCHAR(180) NOT NULL, roles JSON NOT NULL, password VARCHAR(255) NOT NULL, name VARCHAR(255) NOT NULL, active TINYINT(1) NOT NULL, otp TINYINT(1) NOT NULL, created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', updated_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', is_verified TINYINT(1) NOT NULL, type VARCHAR(255) DEFAULT NULL, UNIQUE INDEX UNIQ_8D93D649E7927C74 (email), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
            $this->addSql('ALTER TABLE consultation ADD CONSTRAINT FK_964685A6DC32BB7B FOREIGN KEY (specialty_id_id) REFERENCES medical_specialty (id)');
            $this->addSql('ALTER TABLE consultation ADD CONSTRAINT FK_964685A6EA724598 FOREIGN KEY (patient_id_id) REFERENCES patient (id)');
            $this->addSql('ALTER TABLE consultation ADD CONSTRAINT FK_964685A69058F922 FOREIGN KEY (medical_staff_id_id) REFERENCES medical_staff (id)');
            $this->addSql('ALTER TABLE consultation ADD CONSTRAINT FK_964685A65ED27AD4 FOREIGN KEY (admin_approve_id_id) REFERENCES administrator (id)');
            $this->addSql('ALTER TABLE consultation ADD CONSTRAINT FK_964685A6BA160E7 FOREIGN KEY (hour_activity_id_id) REFERENCES hour_activity (id)');
            $this->addSql('ALTER TABLE hour_activity ADD CONSTRAINT FK_18364F489058F922 FOREIGN KEY (medical_staff_id_id) REFERENCES medical_staff (id)');
            $this->addSql('ALTER TABLE medical_staff_medical_specialty ADD CONSTRAINT FK_80EA25571D7BA9A FOREIGN KEY (medical_staff_id) REFERENCES medical_staff (id) ON DELETE CASCADE');
            $this->addSql('ALTER TABLE medical_staff_medical_specialty ADD CONSTRAINT FK_80EA255BFC81879 FOREIGN KEY (medical_specialty_id) REFERENCES medical_specialty (id) ON DELETE CASCADE');
        }
    
        public function down(Schema $schema): void
        {
            // this down() migration is auto-generated, please modify it to your needs
            $this->addSql('ALTER TABLE consultation DROP FOREIGN KEY FK_964685A65ED27AD4');
            $this->addSql('ALTER TABLE consultation DROP FOREIGN KEY FK_964685A6BA160E7');
            $this->addSql('ALTER TABLE consultation DROP FOREIGN KEY FK_964685A6DC32BB7B');
            $this->addSql('ALTER TABLE medical_staff_medical_specialty DROP FOREIGN KEY FK_80EA255BFC81879');
            $this->addSql('ALTER TABLE consultation DROP FOREIGN KEY FK_964685A69058F922');
            $this->addSql('ALTER TABLE hour_activity DROP FOREIGN KEY FK_18364F489058F922');
            $this->addSql('ALTER TABLE medical_staff_medical_specialty DROP FOREIGN KEY FK_80EA25571D7BA9A');
            $this->addSql('ALTER TABLE consultation DROP FOREIGN KEY FK_964685A6EA724598');
            $this->addSql('DROP TABLE administrator');
            $this->addSql('DROP TABLE consultation');
            $this->addSql('DROP TABLE hour_activity');
            $this->addSql('DROP TABLE medical_specialty');
            $this->addSql('DROP TABLE medical_staff');
            $this->addSql('DROP TABLE medical_staff_medical_specialty');
            $this->addSql('DROP TABLE patient');
            $this->addSql('DROP TABLE type_medical_staff');
            $this->addSql('DROP TABLE `user`');
        }
    }