migrations/Version20251116094425.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 Version20251116094425 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 bank_journal (id INT AUTO_INCREMENT NOT NULL, establishment_id INT NOT NULL, bank_name VARCHAR(255) NOT NULL, account_number VARCHAR(100) NOT NULL, account_type VARCHAR(50) NOT NULL, iban VARCHAR(34) DEFAULT NULL, swift VARCHAR(11) DEFAULT NULL, currency VARCHAR(3) NOT NULL, initial_balance NUMERIC(15, 2) NOT NULL, current_balance NUMERIC(15, 2) NOT NULL, is_active TINYINT(1) NOT NULL, description LONGTEXT DEFAULT NULL, created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', updated_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', created_by INT NOT NULL, updated_by INT NOT NULL, INDEX IDX_EF338FE38565851 (establishment_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  19.         $this->addSql('CREATE TABLE bank_transaction (id INT AUTO_INCREMENT NOT NULL, bank_journal_id INT NOT NULL, establishment_id INT NOT NULL, school_year_id INT NOT NULL, transaction_date DATE NOT NULL, value_date DATE NOT NULL, type VARCHAR(10) NOT NULL, category VARCHAR(100) NOT NULL, amount NUMERIC(15, 2) NOT NULL, reference VARCHAR(100) DEFAULT NULL, description VARCHAR(500) NOT NULL, counterparty VARCHAR(255) DEFAULT NULL, payment_method VARCHAR(50) NOT NULL, is_reconciled TINYINT(1) NOT NULL, reconciled_at DATETIME DEFAULT NULL, reconciled_by INT DEFAULT NULL, linked_entity_type VARCHAR(50) DEFAULT NULL, linked_entity_id INT DEFAULT NULL, balance_after NUMERIC(15, 2) NOT NULL, is_validated TINYINT(1) NOT NULL, validated_at DATETIME DEFAULT NULL, validated_by INT DEFAULT NULL, attachment VARCHAR(255) DEFAULT NULL, notes LONGTEXT DEFAULT NULL, created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', updated_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', created_by INT NOT NULL, updated_by INT NOT NULL, INDEX IDX_50BCB3AECE2E4EB4 (bank_journal_id), INDEX IDX_50BCB3AE8565851 (establishment_id), INDEX IDX_50BCB3AED2EECC3F (school_year_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  20.         $this->addSql('CREATE TABLE budget_forecast (id INT AUTO_INCREMENT NOT NULL, establishment_id INT NOT NULL, school_year_id INT NOT NULL, category VARCHAR(128) NOT NULL, `label` VARCHAR(255) NOT NULL, amount NUMERIC(15, 2) NOT NULL, month INT DEFAULT NULL, description LONGTEXT DEFAULT NULL, is_active TINYINT(1) NOT NULL, created_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', updated_at DATETIME NOT NULL COMMENT \'(DC2Type:datetime_immutable)\', created_by INT NOT NULL, updated_by INT NOT NULL, INDEX IDX_FD5329E08565851 (establishment_id), INDEX IDX_FD5329E0D2EECC3F (school_year_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8mb4 COLLATE `utf8mb4_unicode_ci` ENGINE = InnoDB');
  21.         $this->addSql('ALTER TABLE bank_journal ADD CONSTRAINT FK_EF338FE38565851 FOREIGN KEY (establishment_id) REFERENCES establishment (id)');
  22.         $this->addSql('ALTER TABLE bank_transaction ADD CONSTRAINT FK_50BCB3AECE2E4EB4 FOREIGN KEY (bank_journal_id) REFERENCES bank_journal (id)');
  23.         $this->addSql('ALTER TABLE bank_transaction ADD CONSTRAINT FK_50BCB3AE8565851 FOREIGN KEY (establishment_id) REFERENCES establishment (id)');
  24.         $this->addSql('ALTER TABLE bank_transaction ADD CONSTRAINT FK_50BCB3AED2EECC3F FOREIGN KEY (school_year_id) REFERENCES school_year (id)');
  25.         $this->addSql('ALTER TABLE budget_forecast ADD CONSTRAINT FK_FD5329E08565851 FOREIGN KEY (establishment_id) REFERENCES establishment (id)');
  26.         $this->addSql('ALTER TABLE budget_forecast ADD CONSTRAINT FK_FD5329E0D2EECC3F FOREIGN KEY (school_year_id) REFERENCES school_year (id)');
  27.         $this->addSql('ALTER TABLE school_teacher_call_sheet ADD status VARCHAR(50) NOT NULL, ADD rejection_reason LONGTEXT DEFAULT NULL');
  28.     }
  29.     public function down(Schema $schema): void
  30.     {
  31.         // this down() migration is auto-generated, please modify it to your needs
  32.         $this->addSql('ALTER TABLE bank_transaction DROP FOREIGN KEY FK_50BCB3AECE2E4EB4');
  33.         $this->addSql('DROP TABLE bank_journal');
  34.         $this->addSql('DROP TABLE bank_transaction');
  35.         $this->addSql('DROP TABLE budget_forecast');
  36.         $this->addSql('ALTER TABLE school_teacher_call_sheet DROP status, DROP rejection_reason');
  37.     }
  38. }