<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Migration to update gemeinde psid values with Amtsblattportal UIDs
*/
final class Version20251126000000 extends AbstractMigration
{
private array $gemeindePsids = [
'Alpthal' => 'e5995547-a5aa-11f0-95af-04505600900f',
'Altendorf' => '8bba1952-ca0d-11f0-a7a8-045056009022',
'Arth' => '5eb40870-a424-11f0-8b51-04505600904d',
'Einsiedeln' => '1cb8b3f7-a424-11f0-980a-04505600903b',
'Feusisberg' => '79f0c8a7-a42a-11f0-980a-04505600903b',
'Freienbach' => '94fd871e-a42a-11f0-980a-04505600903b',
'Galgenen' => 'c8815a31-a429-11f0-980a-04505600903b',
'Gersau' => 'ed08e8ad-a423-11f0-980a-04505600903b',
'Illgau' => '2c37e3ed-a429-11f0-980a-04505600903b',
'Ingenbohl' => '7b6fd5c1-a424-11f0-8b51-04505600904d',
'Innerthal' => 'f7dc009b-a429-11f0-980a-04505600903b',
'Küssnacht' => '3acb1154-a424-11f0-980a-04505600903b',
'Lachen' => '5dda580d-a429-11f0-980a-04505600903b',
'Lauerz' => '943ae464-a428-11f0-8b51-04505600904d',
'Morschach' => 'd015286f-a428-11f0-8b51-04505600904d',
'Muotathal' => '932d1b06-a424-11f0-980a-04505600903b',
'Oberiberg' => '547b5081-a428-11f0-980a-04505600903b',
'Reichenburg' => '62f1ca46-a42a-11f0-8b51-04505600904d',
'Riemenstalden' => '4ac230d8-a429-11f0-8b51-04505600904d',
'Rothenthurm' => '3787829f-a428-11f0-8b51-04505600904d',
'Sattel' => '200857b3-a428-11f0-980a-04505600903b',
'Schübelbach' => '121b5c82-a42a-11f0-8b51-04505600904d',
'Schwyz' => 'af23b976-a423-11f0-980a-04505600903b',
'Steinen' => '04d832d9-a428-11f0-980a-04505600903b',
'Steinerberg' => 'b5443b4e-a428-11f0-980a-04505600903b',
'Tuggen' => '2b4ddd1d-a42a-11f0-980a-04505600903b',
'Unteriberg' => '7c998c80-a428-11f0-980a-04505600903b',
'Vorderthal' => 'e5a14148-a429-11f0-8b51-04505600904d',
'Wangen' => '3b4f7493-a42a-11f0-8b51-04505600904d',
'Wollerau' => '79f0c8a7-a42a-11f0-980a-04505600903b',
];
public function getDescription(): string
{
return 'Update gemeinde psid values with Amtsblattportal UIDs';
}
public function up(Schema $schema): void
{
// Update psid for each gemeinde
foreach ($this->gemeindePsids as $gemeindeName => $psid) {
$this->addSql(
'UPDATE gemeinde SET psid = ? WHERE name = ?',
[$psid, $gemeindeName]
);
}
}
public function down(Schema $schema): void
{
// Set all psid values back to NULL
foreach (array_keys($this->gemeindePsids) as $gemeindeName) {
$this->addSql(
'UPDATE gemeinde SET psid = NULL WHERE name = ?',
[$gemeindeName]
);
}
}
}