<?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 Version20220710113540 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 school_certificate (id INT AUTO_INCREMENT NOT NULL, student_id INT NOT NULL, establishment_id INT NOT NULL, school_year_id INT NOT NULL, abtitude VARCHAR(128) DEFAULT NULL, work VARCHAR(128) DEFAULT NULL, conduct VARCHAR(128) DEFAULT NULL, reason_for_leaving LONGTEXT DEFAULT NULL, entry_date DATE DEFAULT NULL COMMENT \'(DC2Type:date_immutable)\', date_of_departure DATE DEFAULT NULL COMMENT \'(DC2Type:date_immutable)\', directors_name VARCHAR(128) DEFAULT NULL, create_date DATE NOT NULL COMMENT \'(DC2Type:date_immutable)\', created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', created_by INT NOT NULL, updated_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', updated_by INT NOT NULL, INDEX IDX_729AE8FACB944F1A (student_id), INDEX IDX_729AE8FA8565851 (establishment_id), INDEX IDX_729AE8FAD2EECC3F (school_year_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE school_certificate_line (id INT AUTO_INCREMENT NOT NULL, school_certificate_id INT NOT NULL, establishment_id INT NOT NULL, school_year_id INT NOT NULL, year VARCHAR(60) NOT NULL, course_attended VARCHAR(60) NOT NULL, annual_average VARCHAR(60) NOT NULL, ranking VARCHAR(60) NOT NULL, observation VARCHAR(128) DEFAULT NULL, create_date DATE NOT NULL COMMENT \'(DC2Type:date_immutable)\', created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', created_by INT NOT NULL, updated_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', updated_by INT NOT NULL, INDEX IDX_70F3C394586F30FA (school_certificate_id), INDEX IDX_70F3C3948565851 (establishment_id), INDEX IDX_70F3C394D2EECC3F (school_year_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE school_certificate ADD CONSTRAINT FK_729AE8FACB944F1A FOREIGN KEY (student_id) REFERENCES registration_student (id)');
$this->addSql('ALTER TABLE school_certificate ADD CONSTRAINT FK_729AE8FA8565851 FOREIGN KEY (establishment_id) REFERENCES establishment (id)');
$this->addSql('ALTER TABLE school_certificate ADD CONSTRAINT FK_729AE8FAD2EECC3F FOREIGN KEY (school_year_id) REFERENCES school_year (id)');
$this->addSql('ALTER TABLE school_certificate_line ADD CONSTRAINT FK_70F3C394586F30FA FOREIGN KEY (school_certificate_id) REFERENCES school_certificate (id)');
$this->addSql('ALTER TABLE school_certificate_line ADD CONSTRAINT FK_70F3C3948565851 FOREIGN KEY (establishment_id) REFERENCES establishment (id)');
$this->addSql('ALTER TABLE school_certificate_line ADD CONSTRAINT FK_70F3C394D2EECC3F FOREIGN KEY (school_year_id) REFERENCES school_year (id)');
$this->addSql('ALTER TABLE establishment ADD city VARCHAR(128) DEFAULT NULL');
$this->addSql('ALTER TABLE school_absence_and_delay CHANGE situation situation VARCHAR(60) NOT NULL, CHANGE duration_type duration_type VARCHAR(60) NOT NULL');
$this->addSql('ALTER TABLE school_absence_and_delay_setting ADD number_sanctioned_hours INT DEFAULT NULL');
$this->addSql('ALTER TABLE school_average_report_card ADD school_teacher_id INT DEFAULT NULL, ADD as_submatter TINYINT(1) NOT NULL, ADD annual_average DOUBLE PRECISION DEFAULT NULL, ADD annual_rank VARCHAR(60) DEFAULT NULL, ADD rank_average DOUBLE PRECISION DEFAULT NULL, ADD is_matter_conduct TINYINT(1) NOT NULL');
$this->addSql('ALTER TABLE school_average_report_card ADD CONSTRAINT FK_7F4631F2F421FEEF FOREIGN KEY (school_teacher_id) REFERENCES school_teacher (id)');
$this->addSql('CREATE INDEX IDX_7F4631F2F421FEEF ON school_average_report_card (school_teacher_id)');
$this->addSql('ALTER TABLE school_matter ADD note_on_report_card DOUBLE PRECISION DEFAULT NULL, ADD is_matter_conduct TINYINT(1) NOT NULL, CHANGE noted_on noted_on DOUBLE PRECISION DEFAULT NULL');
$this->addSql('ALTER TABLE school_report_card ADD total_average DOUBLE PRECISION DEFAULT NULL, ADD total_coefficient DOUBLE PRECISION DEFAULT NULL, ADD justified_absence DOUBLE PRECISION DEFAULT NULL, ADD unjustified_absence DOUBLE PRECISION DEFAULT NULL, ADD annual_average DOUBLE PRECISION DEFAULT NULL, ADD annual_rank VARCHAR(60) DEFAULT NULL, ADD class_annual_average DOUBLE PRECISION DEFAULT NULL');
$this->addSql('ALTER TABLE school_student_average ADD is_unclassified TINYINT(1) NOT NULL, ADD as_submatter TINYINT(1) NOT NULL, ADD is_matter_conduct TINYINT(1) NOT NULL');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE school_certificate_line DROP FOREIGN KEY FK_70F3C394586F30FA');
$this->addSql('DROP TABLE school_certificate');
$this->addSql('DROP TABLE school_certificate_line');
$this->addSql('ALTER TABLE establishment DROP city');
$this->addSql('ALTER TABLE school_absence_and_delay CHANGE situation situation VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`, CHANGE duration_type duration_type VARCHAR(255) CHARACTER SET utf8mb4 NOT NULL COLLATE `utf8mb4_unicode_ci`');
$this->addSql('ALTER TABLE school_absence_and_delay_setting DROP number_sanctioned_hours');
$this->addSql('ALTER TABLE school_average_report_card DROP FOREIGN KEY FK_7F4631F2F421FEEF');
$this->addSql('DROP INDEX IDX_7F4631F2F421FEEF ON school_average_report_card');
$this->addSql('ALTER TABLE school_average_report_card DROP school_teacher_id, DROP as_submatter, DROP annual_average, DROP annual_rank, DROP rank_average, DROP is_matter_conduct');
$this->addSql('ALTER TABLE school_matter DROP note_on_report_card, DROP is_matter_conduct, CHANGE noted_on noted_on DOUBLE PRECISION NOT NULL');
$this->addSql('ALTER TABLE school_report_card DROP total_average, DROP total_coefficient, DROP justified_absence, DROP unjustified_absence, DROP annual_average, DROP annual_rank, DROP class_annual_average');
$this->addSql('ALTER TABLE school_student_average DROP is_unclassified, DROP as_submatter, DROP is_matter_conduct');
}
}