38 lines
1.3 KiB
PHP
38 lines
1.3 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace DoctrineMigrations;
|
|
|
|
use Doctrine\DBAL\Schema\Schema;
|
|
use Doctrine\Migrations\AbstractMigration;
|
|
|
|
/**
|
|
* The monthly target and the month's total break time, both shown in the head of the
|
|
* Arbeitszeitnachweis next to the hours actually worked.
|
|
*
|
|
* Hand-trimmed, like Version20260921122743: doctrine:migrations:diff sweeps in the
|
|
* long-standing datetime and JSON drift of the dev database, none of which belongs here.
|
|
*
|
|
* The per-day start, end and break times that go with these live in the existing "days" JSON
|
|
* column, so they need no schema change. Rows imported before this migration simply carry
|
|
* neither, and are refreshed by the next import of a month that is not yet signed.
|
|
*/
|
|
final class Version20260921160000 extends AbstractMigration
|
|
{
|
|
public function getDescription(): string
|
|
{
|
|
return 'Adds the monthly target and total break time to teamer_work_month';
|
|
}
|
|
|
|
public function up(Schema $schema): void
|
|
{
|
|
$this->addSql('ALTER TABLE teamer_work_month ADD target_minutes INT DEFAULT 0 NOT NULL, ADD break_minutes INT DEFAULT 0 NOT NULL');
|
|
}
|
|
|
|
public function down(Schema $schema): void
|
|
{
|
|
$this->addSql('ALTER TABLE teamer_work_month DROP target_minutes, DROP break_minutes');
|
|
}
|
|
}
|