app/DoctrineMigrations/Version20260213000001.php line 1

Open in your IDE?
  1. <?php
  2. namespace DoctrineMigrations;
  3. use Doctrine\DBAL\Schema\Schema;
  4. use Doctrine\Migrations\AbstractMigration;
  5. /**
  6.  * School entity migration for new visible type fields
  7.  * - 採寸項目の表示制御: dr06, dr14-17, dr23-25, dr50-53
  8.  * - 団体情報項目の表示制御: dantai, daihyou01/02, daikana01/02, namtxt, measuring_method
  9.  */
  10. final class Version20260213000001 extends AbstractMigration
  11. {
  12.     public function up(Schema $schema): void
  13.     {
  14.         $table $schema->getTable('dtb_school');
  15.         // 採寸項目表示制御: dr06 (上着丈)
  16.         if (!$table->hasColumn('dr06_visible_type')) {
  17.             $this->addSql("ALTER TABLE dtb_school ADD dr06_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT '上着丈_表示'");
  18.         }
  19.         // 採寸項目表示制御: dr14 (胸回り)
  20.         if (!$table->hasColumn('dr14_visible_type')) {
  21.             $this->addSql("ALTER TABLE dtb_school ADD dr14_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT '胸回り_表示'");
  22.         }
  23.         // 採寸項目表示制御: dr15 (中胴)
  24.         if (!$table->hasColumn('dr15_visible_type')) {
  25.             $this->addSql("ALTER TABLE dtb_school ADD dr15_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT '中胴_表示'");
  26.         }
  27.         // 採寸項目表示制御: dr16 (袖丈)
  28.         if (!$table->hasColumn('dr16_visible_type')) {
  29.             $this->addSql("ALTER TABLE dtb_school ADD dr16_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT '袖丈_表示'");
  30.         }
  31.         // 採寸項目表示制御: dr17 (ヒップ_2)
  32.         if (!$table->hasColumn('dr17_visible_type')) {
  33.             $this->addSql("ALTER TABLE dtb_school ADD dr17_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT 'ヒップ_2_表示'");
  34.         }
  35.         // 採寸項目表示制御: dr23 (渡り巾)
  36.         if (!$table->hasColumn('dr23_visible_type')) {
  37.             $this->addSql("ALTER TABLE dtb_school ADD dr23_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT '渡り巾_表示'");
  38.         }
  39.         // 採寸項目表示制御: dr24 (股上)
  40.         if (!$table->hasColumn('dr24_visible_type')) {
  41.             $this->addSql("ALTER TABLE dtb_school ADD dr24_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT '股上_表示'");
  42.         }
  43.         // 採寸項目表示制御: dr25 (裾巾)
  44.         if (!$table->hasColumn('dr25_visible_type')) {
  45.             $this->addSql("ALTER TABLE dtb_school ADD dr25_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT '裾巾_表示'");
  46.         }
  47.         // 採寸項目表示制御: dr50 (袖丈左)
  48.         if (!$table->hasColumn('dr50_visible_type')) {
  49.             $this->addSql("ALTER TABLE dtb_school ADD dr50_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT '袖丈左_表示'");
  50.         }
  51.         // 採寸項目表示制御: dr51 (袖丈右)
  52.         if (!$table->hasColumn('dr51_visible_type')) {
  53.             $this->addSql("ALTER TABLE dtb_school ADD dr51_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT '袖丈右_表示'");
  54.         }
  55.         // 採寸項目表示制御: dr52 (裾丈左)
  56.         if (!$table->hasColumn('dr52_visible_type')) {
  57.             $this->addSql("ALTER TABLE dtb_school ADD dr52_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT '裾丈左_表示'");
  58.         }
  59.         // 採寸項目表示制御: dr53 (裾丈右)
  60.         if (!$table->hasColumn('dr53_visible_type')) {
  61.             $this->addSql("ALTER TABLE dtb_school ADD dr53_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT '裾丈右_表示'");
  62.         }
  63.         // 団体情報表示制御: dantai (団体情報)
  64.         if (!$table->hasColumn('dantai_visible_type')) {
  65.             $this->addSql("ALTER TABLE dtb_school ADD dantai_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT '団体名_表示'");
  66.         }
  67.         // 団体情報表示制御: daihyou (代表者01と02を統合)
  68.         if (!$table->hasColumn('daihyou_visible_type')) {
  69.             $this->addSql("ALTER TABLE dtb_school ADD daihyou_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT '代表者_表示'");
  70.         }
  71.         // 団体情報表示制御: daikana (代表者カナ01と02を統合)
  72.         if (!$table->hasColumn('daikana_visible_type')) {
  73.             $this->addSql("ALTER TABLE dtb_school ADD daikana_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT '代表者カナ_表示'");
  74.         }
  75.         // お名前表示制御: namtxt (お名前テキスト)
  76.         if (!$table->hasColumn('namtxt_visible_type')) {
  77.             $this->addSql("ALTER TABLE dtb_school ADD namtxt_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT 'お名前_表示'");
  78.         }
  79.         // 計測方法表示制御: measuring_method
  80.         if (!$table->hasColumn('measuring_method_visible_type')) {
  81.             $this->addSql("ALTER TABLE dtb_school ADD measuring_method_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT '計測方法_表示'");
  82.         }
  83.     }
  84.     public function down(Schema $schema): void
  85.     {
  86.         $table $schema->getTable('dtb_school');
  87.         // ロールバック: 追加したvisible_typeカラムを削除
  88.         if ($table->hasColumn('dr06_visible_type')) {
  89.             $this->addSql('ALTER TABLE dtb_school DROP COLUMN dr06_visible_type');
  90.         }
  91.         if ($table->hasColumn('dr14_visible_type')) {
  92.             $this->addSql('ALTER TABLE dtb_school DROP COLUMN dr14_visible_type');
  93.         }
  94.         if ($table->hasColumn('dr15_visible_type')) {
  95.             $this->addSql('ALTER TABLE dtb_school DROP COLUMN dr15_visible_type');
  96.         }
  97.         if ($table->hasColumn('dr16_visible_type')) {
  98.             $this->addSql('ALTER TABLE dtb_school DROP COLUMN dr16_visible_type');
  99.         }
  100.         if ($table->hasColumn('dr17_visible_type')) {
  101.             $this->addSql('ALTER TABLE dtb_school DROP COLUMN dr17_visible_type');
  102.         }
  103.         if ($table->hasColumn('dr23_visible_type')) {
  104.             $this->addSql('ALTER TABLE dtb_school DROP COLUMN dr23_visible_type');
  105.         }
  106.         if ($table->hasColumn('dr24_visible_type')) {
  107.             $this->addSql('ALTER TABLE dtb_school DROP COLUMN dr24_visible_type');
  108.         }
  109.         if ($table->hasColumn('dr25_visible_type')) {
  110.             $this->addSql('ALTER TABLE dtb_school DROP COLUMN dr25_visible_type');
  111.         }
  112.         if ($table->hasColumn('dr50_visible_type')) {
  113.             $this->addSql('ALTER TABLE dtb_school DROP COLUMN dr50_visible_type');
  114.         }
  115.         if ($table->hasColumn('dr51_visible_type')) {
  116.             $this->addSql('ALTER TABLE dtb_school DROP COLUMN dr51_visible_type');
  117.         }
  118.         if ($table->hasColumn('dr52_visible_type')) {
  119.             $this->addSql('ALTER TABLE dtb_school DROP COLUMN dr52_visible_type');
  120.         }
  121.         if ($table->hasColumn('dr53_visible_type')) {
  122.             $this->addSql('ALTER TABLE dtb_school DROP COLUMN dr53_visible_type');
  123.         }
  124.         if ($table->hasColumn('dantai_visible_type')) {
  125.             $this->addSql('ALTER TABLE dtb_school DROP COLUMN dantai_visible_type');
  126.         }
  127.         if ($table->hasColumn('daihyou_visible_type')) {
  128.             $this->addSql('ALTER TABLE dtb_school DROP COLUMN daihyou_visible_type');
  129.         }
  130.         if ($table->hasColumn('daikana_visible_type')) {
  131.             $this->addSql('ALTER TABLE dtb_school DROP COLUMN daikana_visible_type');
  132.         }
  133.         if ($table->hasColumn('namtxt_visible_type')) {
  134.             $this->addSql('ALTER TABLE dtb_school DROP COLUMN namtxt_visible_type');
  135.         }
  136.         if ($table->hasColumn('measuring_method_visible_type')) {
  137.             $this->addSql('ALTER TABLE dtb_school DROP COLUMN measuring_method_visible_type');
  138.         }
  139.     }
  140. }