app/DoctrineMigrations/Version20260213000000.php line 1

Open in your IDE?
  1. <?php
    
    namespace DoctrineMigrations;
    
    use Doctrine\DBAL\Schema\Schema;
    use Doctrine\Migrations\AbstractMigration;
    
    /**
     * 柔道連盟審判服販売用の会員項目追加
     * - 団体情報フィールド(dantai, daihyou01/02, daikana01/02)
     * - 審判服専用フィールド(namtxt, measuring_method)
     * - 審判服採寸フィールド(dr06, dr14-17, dr23-25, dr50-53)
     */
    class Version20260213000000 extends AbstractMigration
    {
        public function up(Schema $schema): void
        {
            $table = $schema->getTable('dtb_customer');
    
            // 団体情報フィールドの追加
            if (!$table->hasColumn('dantai')) {
                $this->addSql("ALTER TABLE dtb_customer ADD COLUMN dantai VARCHAR(255) DEFAULT NULL COMMENT '所属団体名'");
            }
            if (!$table->hasColumn('daihyou01')) {
                $this->addSql("ALTER TABLE dtb_customer ADD COLUMN daihyou01 VARCHAR(255) DEFAULT NULL COMMENT '代表者名(姓)'");
            }
            if (!$table->hasColumn('daihyou02')) {
                $this->addSql("ALTER TABLE dtb_customer ADD COLUMN daihyou02 VARCHAR(255) DEFAULT NULL COMMENT '代表者名(名)'");
            }
            if (!$table->hasColumn('daikana01')) {
                $this->addSql("ALTER TABLE dtb_customer ADD COLUMN daikana01 VARCHAR(255) DEFAULT NULL COMMENT '代表者名フリガナ(セイ)'");
            }
            if (!$table->hasColumn('daikana02')) {
                $this->addSql("ALTER TABLE dtb_customer ADD COLUMN daikana02 VARCHAR(255) DEFAULT NULL COMMENT '代表者名フリガナ(メイ)'");
            }
            
            // 審判服専用フィールドの追加
            if (!$table->hasColumn('namtxt')) {
                $this->addSql("ALTER TABLE dtb_customer ADD COLUMN namtxt VARCHAR(255) DEFAULT NULL COMMENT 'ネーム入れ'");
            }
            if (!$table->hasColumn('measuring_method')) {
                $this->addSql("ALTER TABLE dtb_customer ADD COLUMN measuring_method INT DEFAULT NULL COMMENT '採寸方法(1:スーツ採寸, 2:ヌード採寸)'");
            }
            
            // 審判服採寸フィールドの追加(00番台: 上着)
            if (!$table->hasColumn('dr06')) {
                $this->addSql("ALTER TABLE dtb_customer ADD COLUMN dr06 VARCHAR(10) DEFAULT NULL COMMENT '上着丈'");
            }
            
            // 審判服採寸フィールドの追加(10番台: 胴体・上半身詳細)
            if (!$table->hasColumn('dr14')) {
                $this->addSql("ALTER TABLE dtb_customer ADD COLUMN dr14 VARCHAR(10) DEFAULT NULL COMMENT '胸回り'");
            }
            if (!$table->hasColumn('dr15')) {
                $this->addSql("ALTER TABLE dtb_customer ADD COLUMN dr15 VARCHAR(10) DEFAULT NULL COMMENT '中胴'");
            }
            if (!$table->hasColumn('dr16')) {
                $this->addSql("ALTER TABLE dtb_customer ADD COLUMN dr16 VARCHAR(10) DEFAULT NULL COMMENT '袖幅'");
            }
            if (!$table->hasColumn('dr17')) {
                $this->addSql("ALTER TABLE dtb_customer ADD COLUMN dr17 VARCHAR(10) DEFAULT NULL COMMENT 'ヒップ_2'");
            }
            
            // 審判服採寸フィールドの追加(20番台: 下半身詳細)
            if (!$table->hasColumn('dr23')) {
                $this->addSql("ALTER TABLE dtb_customer ADD COLUMN dr23 VARCHAR(10) DEFAULT NULL COMMENT '渡り巾'");
            }
            if (!$table->hasColumn('dr24')) {
                $this->addSql("ALTER TABLE dtb_customer ADD COLUMN dr24 VARCHAR(10) DEFAULT NULL COMMENT '股上'");
            }
            if (!$table->hasColumn('dr25')) {
                $this->addSql("ALTER TABLE dtb_customer ADD COLUMN dr25 VARCHAR(10) DEFAULT NULL COMMENT '裾巾'");
            }
            
            // 審判服採寸フィールドの追加(50番台: 左右対称項目専用)
            if (!$table->hasColumn('dr50')) {
                $this->addSql("ALTER TABLE dtb_customer ADD COLUMN dr50 VARCHAR(10) DEFAULT NULL COMMENT '袖丈(左)'");
            }
            if (!$table->hasColumn('dr51')) {
                $this->addSql("ALTER TABLE dtb_customer ADD COLUMN dr51 VARCHAR(10) DEFAULT NULL COMMENT '袖丈(右)'");
            }
            if (!$table->hasColumn('dr52')) {
                $this->addSql("ALTER TABLE dtb_customer ADD COLUMN dr52 VARCHAR(10) DEFAULT NULL COMMENT '裄丈(左)'");
            }
            if (!$table->hasColumn('dr53')) {
                $this->addSql("ALTER TABLE dtb_customer ADD COLUMN dr53 VARCHAR(10) DEFAULT NULL COMMENT '裄丈(右)'");
            }
        }
    
        public function down(Schema $schema): void
        {
            $table = $schema->getTable('dtb_customer');
    
            // ロールバック: 追加したカラムを削除
            if ($table->hasColumn('dantai')) {
                $this->addSql('ALTER TABLE dtb_customer DROP COLUMN dantai');
            }
            if ($table->hasColumn('daihyou01')) {
                $this->addSql('ALTER TABLE dtb_customer DROP COLUMN daihyou01');
            }
            if ($table->hasColumn('daihyou02')) {
                $this->addSql('ALTER TABLE dtb_customer DROP COLUMN daihyou02');
            }
            if ($table->hasColumn('daikana01')) {
                $this->addSql('ALTER TABLE dtb_customer DROP COLUMN daikana01');
            }
            if ($table->hasColumn('daikana02')) {
                $this->addSql('ALTER TABLE dtb_customer DROP COLUMN daikana02');
            }
            if ($table->hasColumn('namtxt')) {
                $this->addSql('ALTER TABLE dtb_customer DROP COLUMN namtxt');
            }
            if ($table->hasColumn('measuring_method')) {
                $this->addSql('ALTER TABLE dtb_customer DROP COLUMN measuring_method');
            }
            if ($table->hasColumn('dr06')) {
                $this->addSql('ALTER TABLE dtb_customer DROP COLUMN dr06');
            }
            if ($table->hasColumn('dr14')) {
                $this->addSql('ALTER TABLE dtb_customer DROP COLUMN dr14');
            }
            if ($table->hasColumn('dr15')) {
                $this->addSql('ALTER TABLE dtb_customer DROP COLUMN dr15');
            }
            if ($table->hasColumn('dr16')) {
                $this->addSql('ALTER TABLE dtb_customer DROP COLUMN dr16');
            }
            if ($table->hasColumn('dr17')) {
                $this->addSql('ALTER TABLE dtb_customer DROP COLUMN dr17');
            }
            if ($table->hasColumn('dr23')) {
                $this->addSql('ALTER TABLE dtb_customer DROP COLUMN dr23');
            }
            if ($table->hasColumn('dr24')) {
                $this->addSql('ALTER TABLE dtb_customer DROP COLUMN dr24');
            }
            if ($table->hasColumn('dr25')) {
                $this->addSql('ALTER TABLE dtb_customer DROP COLUMN dr25');
            }
            if ($table->hasColumn('dr50')) {
                $this->addSql('ALTER TABLE dtb_customer DROP COLUMN dr50');
            }
            if ($table->hasColumn('dr51')) {
                $this->addSql('ALTER TABLE dtb_customer DROP COLUMN dr51');
            }
            if ($table->hasColumn('dr52')) {
                $this->addSql('ALTER TABLE dtb_customer DROP COLUMN dr52');
            }
            if ($table->hasColumn('dr53')) {
                $this->addSql('ALTER TABLE dtb_customer DROP COLUMN dr53');
            }
        }
    }