<?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 Version20241203205251 extends AbstractMigration
{
public function getDescription(): string
{
return '';
}
public function up(Schema $schema): void
{
$this->addSql('ALTER VIEW report_total_or_installments_count AS
select a.academic_year AS academic_year, a.title AS title, count(*) AS total
from (SELECT e.academic_year AS academic_year,
CASE
WHEN i.title IN (\'U cjelosti\', \'Uplata u cjelosti\')
THEN \'Uplata u cjelosti\'
ELSE \'Rate\'
END AS title,
COUNT(s.id) AS total
FROM students s
LEFT JOIN udg_fms.profiles p ON s.id = p.student_id
LEFT JOIN udg_fms.enrollment_events e ON e.profile_id = p.id
left join tuition_modality_templates t on e.tuition_modality_template_id = t.id
LEFT JOIN udg_fms.tuition_installments i ON e.id = i.enrollment_id
WHERE e.academic_year IS NOT NULL
AND e.tuition_modality_template_id IS NOT NULL
AND i.payed_on IS NOT NULL
GROUP BY e.academic_year,
CASE
WHEN i.title IN (\'U cjelosti\', \'Uplata u cjelosti\')
THEN \'Uplata u cjelosti\'
ELSE \'Rate\'
END,
s.faculty, s.first_name, s.last_name, p.index_no, p.current_semester, t.title) a
group by a.academic_year, a.title');
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
$this->addSql('ALTER VIEW report_total_or_installments_count AS
select a.academic_year, a.title, count(a.id) as total
from (SELECT DISTINCT s.id AS id,
CASE
WHEN i.title IN (\'U cjelosti\', \'Uplata u cjelosti\')
THEN \'Uplata u cjelosti\'
ELSE \'Rate\'
END AS title,
e.academic_year
FROM students s
LEFT JOIN udg_fms.profiles p ON s.id = p.student_id
LEFT JOIN enrollment_events e ON e.profile_id = p.id
LEFT JOIN tuition_installments i ON e.id = i.enrollment_id
where e.academic_year is not null
and e.tuition_modality_template_id is not null) a
group by a.academic_year, a.title;');
}
}