<?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 Version20220529153200 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 accounting_credit (id INT AUTO_INCREMENT NOT NULL, establishment_id INT NOT NULL, school_year_id INT NOT NULL, fee_to_delete_id INT DEFAULT NULL, fee_to_add_id INT DEFAULT NULL, student_registration_id INT NOT NULL, is_validated TINYINT(1) NOT NULL, fee_label VARCHAR(128) NOT 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_978F9B1D8565851 (establishment_id), INDEX IDX_978F9B1DD2EECC3F (school_year_id), INDEX IDX_978F9B1D6928C9FD (fee_to_delete_id), INDEX IDX_978F9B1D8B487732 (fee_to_add_id), INDEX IDX_978F9B1DDF990765 (student_registration_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('CREATE TABLE accounting_credit_line (id INT AUTO_INCREMENT NOT NULL, accounting_credit_id INT NOT NULL, establishment_id INT NOT NULL, school_year_id INT NOT NULL, payment_cash_register_id INT NOT NULL, payment_amount DOUBLE PRECISION NOT NULL, fee_amount_paid DOUBLE PRECISION NOT NULL, payment_date DATE NOT NULL COMMENT \'(DC2Type:date_immutable)\', payment_code VARCHAR(128) NOT NULL, 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_AA69B11B9D0D38E4 (accounting_credit_id), INDEX IDX_AA69B11B8565851 (establishment_id), INDEX IDX_AA69B11BD2EECC3F (school_year_id), INDEX IDX_AA69B11BE6CFB6D7 (payment_cash_register_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
$this->addSql('ALTER TABLE accounting_credit ADD CONSTRAINT FK_978F9B1D8565851 FOREIGN KEY (establishment_id) REFERENCES establishment (id)');
$this->addSql('ALTER TABLE accounting_credit ADD CONSTRAINT FK_978F9B1DD2EECC3F FOREIGN KEY (school_year_id) REFERENCES school_year (id)');
$this->addSql('ALTER TABLE accounting_credit ADD CONSTRAINT FK_978F9B1D6928C9FD FOREIGN KEY (fee_to_delete_id) REFERENCES accounting_student_registration_fee (id)');
$this->addSql('ALTER TABLE accounting_credit ADD CONSTRAINT FK_978F9B1D8B487732 FOREIGN KEY (fee_to_add_id) REFERENCES setting_fee (id)');
$this->addSql('ALTER TABLE accounting_credit ADD CONSTRAINT FK_978F9B1DDF990765 FOREIGN KEY (student_registration_id) REFERENCES registration_student_registration (id)');
$this->addSql('ALTER TABLE accounting_credit_line ADD CONSTRAINT FK_AA69B11B9D0D38E4 FOREIGN KEY (accounting_credit_id) REFERENCES accounting_credit (id)');
$this->addSql('ALTER TABLE accounting_credit_line ADD CONSTRAINT FK_AA69B11B8565851 FOREIGN KEY (establishment_id) REFERENCES establishment (id)');
$this->addSql('ALTER TABLE accounting_credit_line ADD CONSTRAINT FK_AA69B11BD2EECC3F FOREIGN KEY (school_year_id) REFERENCES school_year (id)');
$this->addSql('ALTER TABLE accounting_credit_line ADD CONSTRAINT FK_AA69B11BE6CFB6D7 FOREIGN KEY (payment_cash_register_id) REFERENCES treasury_cash_register (id)');
$this->addSql('ALTER TABLE accounting_student_registration_fee ADD is_archived TINYINT(1) NOT NULL');
$this->addSql('ALTER TABLE school_absence_and_delay CHANGE situation situation VARCHAR(255) NOT NULL, CHANGE duration_type duration_type VARCHAR(255) NOT NULL');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER TABLE accounting_credit_line DROP FOREIGN KEY FK_AA69B11B9D0D38E4');
$this->addSql('DROP TABLE accounting_credit');
$this->addSql('DROP TABLE accounting_credit_line');
$this->addSql('ALTER TABLE accounting_student_registration_fee DROP is_archived');
$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`');
}
}