<?php
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* School entity migration for new visible type fields
* - 採寸項目の表示制御: dr06, dr14-17, dr23-25, dr50-53
* - 団体情報項目の表示制御: dantai, daihyou01/02, daikana01/02, namtxt, measuring_method
*/
final class Version20260213000001 extends AbstractMigration
{
public function up(Schema $schema): void
{
$table = $schema->getTable('dtb_school');
// 採寸項目表示制御: dr06 (上着丈)
if (!$table->hasColumn('dr06_visible_type')) {
$this->addSql("ALTER TABLE dtb_school ADD dr06_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT '上着丈_表示'");
}
// 採寸項目表示制御: dr14 (胸回り)
if (!$table->hasColumn('dr14_visible_type')) {
$this->addSql("ALTER TABLE dtb_school ADD dr14_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT '胸回り_表示'");
}
// 採寸項目表示制御: dr15 (中胴)
if (!$table->hasColumn('dr15_visible_type')) {
$this->addSql("ALTER TABLE dtb_school ADD dr15_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT '中胴_表示'");
}
// 採寸項目表示制御: dr16 (袖丈)
if (!$table->hasColumn('dr16_visible_type')) {
$this->addSql("ALTER TABLE dtb_school ADD dr16_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT '袖丈_表示'");
}
// 採寸項目表示制御: dr17 (ヒップ_2)
if (!$table->hasColumn('dr17_visible_type')) {
$this->addSql("ALTER TABLE dtb_school ADD dr17_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT 'ヒップ_2_表示'");
}
// 採寸項目表示制御: dr23 (渡り巾)
if (!$table->hasColumn('dr23_visible_type')) {
$this->addSql("ALTER TABLE dtb_school ADD dr23_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT '渡り巾_表示'");
}
// 採寸項目表示制御: dr24 (股上)
if (!$table->hasColumn('dr24_visible_type')) {
$this->addSql("ALTER TABLE dtb_school ADD dr24_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT '股上_表示'");
}
// 採寸項目表示制御: dr25 (裾巾)
if (!$table->hasColumn('dr25_visible_type')) {
$this->addSql("ALTER TABLE dtb_school ADD dr25_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT '裾巾_表示'");
}
// 採寸項目表示制御: dr50 (袖丈左)
if (!$table->hasColumn('dr50_visible_type')) {
$this->addSql("ALTER TABLE dtb_school ADD dr50_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT '袖丈左_表示'");
}
// 採寸項目表示制御: dr51 (袖丈右)
if (!$table->hasColumn('dr51_visible_type')) {
$this->addSql("ALTER TABLE dtb_school ADD dr51_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT '袖丈右_表示'");
}
// 採寸項目表示制御: dr52 (裾丈左)
if (!$table->hasColumn('dr52_visible_type')) {
$this->addSql("ALTER TABLE dtb_school ADD dr52_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT '裾丈左_表示'");
}
// 採寸項目表示制御: dr53 (裾丈右)
if (!$table->hasColumn('dr53_visible_type')) {
$this->addSql("ALTER TABLE dtb_school ADD dr53_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT '裾丈右_表示'");
}
// 団体情報表示制御: dantai (団体情報)
if (!$table->hasColumn('dantai_visible_type')) {
$this->addSql("ALTER TABLE dtb_school ADD dantai_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT '団体名_表示'");
}
// 団体情報表示制御: daihyou (代表者01と02を統合)
if (!$table->hasColumn('daihyou_visible_type')) {
$this->addSql("ALTER TABLE dtb_school ADD daihyou_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT '代表者_表示'");
}
// 団体情報表示制御: daikana (代表者カナ01と02を統合)
if (!$table->hasColumn('daikana_visible_type')) {
$this->addSql("ALTER TABLE dtb_school ADD daikana_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT '代表者カナ_表示'");
}
// お名前表示制御: namtxt (お名前テキスト)
if (!$table->hasColumn('namtxt_visible_type')) {
$this->addSql("ALTER TABLE dtb_school ADD namtxt_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT 'お名前_表示'");
}
// 計測方法表示制御: measuring_method
if (!$table->hasColumn('measuring_method_visible_type')) {
$this->addSql("ALTER TABLE dtb_school ADD measuring_method_visible_type SMALLINT UNSIGNED DEFAULT NULL COMMENT '計測方法_表示'");
}
}
public function down(Schema $schema): void
{
$table = $schema->getTable('dtb_school');
// ロールバック: 追加したvisible_typeカラムを削除
if ($table->hasColumn('dr06_visible_type')) {
$this->addSql('ALTER TABLE dtb_school DROP COLUMN dr06_visible_type');
}
if ($table->hasColumn('dr14_visible_type')) {
$this->addSql('ALTER TABLE dtb_school DROP COLUMN dr14_visible_type');
}
if ($table->hasColumn('dr15_visible_type')) {
$this->addSql('ALTER TABLE dtb_school DROP COLUMN dr15_visible_type');
}
if ($table->hasColumn('dr16_visible_type')) {
$this->addSql('ALTER TABLE dtb_school DROP COLUMN dr16_visible_type');
}
if ($table->hasColumn('dr17_visible_type')) {
$this->addSql('ALTER TABLE dtb_school DROP COLUMN dr17_visible_type');
}
if ($table->hasColumn('dr23_visible_type')) {
$this->addSql('ALTER TABLE dtb_school DROP COLUMN dr23_visible_type');
}
if ($table->hasColumn('dr24_visible_type')) {
$this->addSql('ALTER TABLE dtb_school DROP COLUMN dr24_visible_type');
}
if ($table->hasColumn('dr25_visible_type')) {
$this->addSql('ALTER TABLE dtb_school DROP COLUMN dr25_visible_type');
}
if ($table->hasColumn('dr50_visible_type')) {
$this->addSql('ALTER TABLE dtb_school DROP COLUMN dr50_visible_type');
}
if ($table->hasColumn('dr51_visible_type')) {
$this->addSql('ALTER TABLE dtb_school DROP COLUMN dr51_visible_type');
}
if ($table->hasColumn('dr52_visible_type')) {
$this->addSql('ALTER TABLE dtb_school DROP COLUMN dr52_visible_type');
}
if ($table->hasColumn('dr53_visible_type')) {
$this->addSql('ALTER TABLE dtb_school DROP COLUMN dr53_visible_type');
}
if ($table->hasColumn('dantai_visible_type')) {
$this->addSql('ALTER TABLE dtb_school DROP COLUMN dantai_visible_type');
}
if ($table->hasColumn('daihyou_visible_type')) {
$this->addSql('ALTER TABLE dtb_school DROP COLUMN daihyou_visible_type');
}
if ($table->hasColumn('daikana_visible_type')) {
$this->addSql('ALTER TABLE dtb_school DROP COLUMN daikana_visible_type');
}
if ($table->hasColumn('namtxt_visible_type')) {
$this->addSql('ALTER TABLE dtb_school DROP COLUMN namtxt_visible_type');
}
if ($table->hasColumn('measuring_method_visible_type')) {
$this->addSql('ALTER TABLE dtb_school DROP COLUMN measuring_method_visible_type');
}
}
}