migrations/Version20251126000000.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. * Migration to update gemeinde psid values with Amtsblattportal UIDs
  8. */
  9. final class Version20251126000000 extends AbstractMigration
  10. {
  11. private array $gemeindePsids = [
  12. 'Alpthal' => 'e5995547-a5aa-11f0-95af-04505600900f',
  13. 'Altendorf' => '8bba1952-ca0d-11f0-a7a8-045056009022',
  14. 'Arth' => '5eb40870-a424-11f0-8b51-04505600904d',
  15. 'Einsiedeln' => '1cb8b3f7-a424-11f0-980a-04505600903b',
  16. 'Feusisberg' => '79f0c8a7-a42a-11f0-980a-04505600903b',
  17. 'Freienbach' => '94fd871e-a42a-11f0-980a-04505600903b',
  18. 'Galgenen' => 'c8815a31-a429-11f0-980a-04505600903b',
  19. 'Gersau' => 'ed08e8ad-a423-11f0-980a-04505600903b',
  20. 'Illgau' => '2c37e3ed-a429-11f0-980a-04505600903b',
  21. 'Ingenbohl' => '7b6fd5c1-a424-11f0-8b51-04505600904d',
  22. 'Innerthal' => 'f7dc009b-a429-11f0-980a-04505600903b',
  23. 'Küssnacht' => '3acb1154-a424-11f0-980a-04505600903b',
  24. 'Lachen' => '5dda580d-a429-11f0-980a-04505600903b',
  25. 'Lauerz' => '943ae464-a428-11f0-8b51-04505600904d',
  26. 'Morschach' => 'd015286f-a428-11f0-8b51-04505600904d',
  27. 'Muotathal' => '932d1b06-a424-11f0-980a-04505600903b',
  28. 'Oberiberg' => '547b5081-a428-11f0-980a-04505600903b',
  29. 'Reichenburg' => '62f1ca46-a42a-11f0-8b51-04505600904d',
  30. 'Riemenstalden' => '4ac230d8-a429-11f0-8b51-04505600904d',
  31. 'Rothenthurm' => '3787829f-a428-11f0-8b51-04505600904d',
  32. 'Sattel' => '200857b3-a428-11f0-980a-04505600903b',
  33. 'Schübelbach' => '121b5c82-a42a-11f0-8b51-04505600904d',
  34. 'Schwyz' => 'af23b976-a423-11f0-980a-04505600903b',
  35. 'Steinen' => '04d832d9-a428-11f0-980a-04505600903b',
  36. 'Steinerberg' => 'b5443b4e-a428-11f0-980a-04505600903b',
  37. 'Tuggen' => '2b4ddd1d-a42a-11f0-980a-04505600903b',
  38. 'Unteriberg' => '7c998c80-a428-11f0-980a-04505600903b',
  39. 'Vorderthal' => 'e5a14148-a429-11f0-8b51-04505600904d',
  40. 'Wangen' => '3b4f7493-a42a-11f0-8b51-04505600904d',
  41. 'Wollerau' => '79f0c8a7-a42a-11f0-980a-04505600903b',
  42. ];
  43. public function getDescription(): string
  44. {
  45. return 'Update gemeinde psid values with Amtsblattportal UIDs';
  46. }
  47. public function up(Schema $schema): void
  48. {
  49. // Update psid for each gemeinde
  50. foreach ($this->gemeindePsids as $gemeindeName => $psid) {
  51. $this->addSql(
  52. 'UPDATE gemeinde SET psid = ? WHERE name = ?',
  53. [$psid, $gemeindeName]
  54. );
  55. }
  56. }
  57. public function down(Schema $schema): void
  58. {
  59. // Set all psid values back to NULL
  60. foreach (array_keys($this->gemeindePsids) as $gemeindeName) {
  61. $this->addSql(
  62. 'UPDATE gemeinde SET psid = NULL WHERE name = ?',
  63. [$gemeindeName]
  64. );
  65. }
  66. }
  67. }