app/DoctrineMigrations/Version20250909124525.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.  * Auto-generated Migration: Please modify to your needs!
  8.  */
  9. final class Version20250909124525 extends AbstractMigration
  10. {
  11.     public function getDescription(): string
  12.     {
  13.         return 'Add CSV fields for EC2 export compatibility';
  14.     }
  15.     public function up(Schema $schema): void
  16.     {
  17.         // Add CSV fields for EC2 export compatibility
  18.         $csvFields = [
  19.             ['getProductArtistNamesString''アーティスト名'35],
  20.             ['getProductArtistIdsString''アーティストID'36],
  21.             ['papc3''修飾語(頭)'37],
  22.             ['papc4''修飾語(後半)'38],
  23.             ['getProductSaleTypeIdsString''商品種別ID'39],
  24.             ['getProductStatusNamesString''商品ステータス'40],
  25.             ['getProductStatusIdsString''商品ステータス名'41],
  26.             ['getProductCategoryIdsString''カテゴリID'42],
  27.             ['getProductCategoryNamesString''カテゴリ名'43],
  28.             ['sub_comment1''詳細-サブコメント(1)'44],
  29.             ['sub_comment2''詳細-サブコメント(2)'45],
  30.             ['maker_id''メーカーID'46],
  31.             ['Maker''メーカー名'47'name'],
  32.             ['maker_url''メーカーURL'48],
  33.             ['comment1''JAN'49],
  34.             ['comment3''検索ワード'50],
  35.             ['note''備考欄(SHOP専用)'51],
  36.             ['main_list_comment''一覧-メインコメント'52],
  37.             ['main_comment''詳細-メインコメント'53],
  38.             ['sub_title1''詳細-サブタイトル(1)'54],
  39.             ['sub_image1''詳細-サブ画像(1)'55],
  40.             ['sub_large_image1''詳細-サブ拡大画像(1)'56],
  41.             ['sub_title2''詳細-サブタイトル(2)'57],
  42.             ['sub_image2''詳細-サブ画像(2)'58],
  43.             ['sub_large_image2''詳細-サブ拡大画像(2)'59],
  44.             ['sub_title3''詳細-サブタイトル(3)'60],
  45.             ['sub_comment3''詳細-サブコメント(3)'61],
  46.             ['sub_image3''詳細-サブ画像(3)'62],
  47.             ['sub_large_image3''詳細-サブ拡大画像(3)'63],
  48.             ['sub_title4''詳細-サブタイトル(4)'64],
  49.             ['sub_comment4''詳細-サブコメント(4)'65],
  50.             ['sub_image4''詳細-サブ画像(4)'66],
  51.             ['sub_large_image4''詳細-サブ拡大画像(4)'67],
  52.             ['sub_title5''詳細-サブタイトル(5)'68],
  53.             ['sub_comment5''詳細-サブコメント(5)'69],
  54.             ['sub_image5''詳細-サブ画像(5)'70],
  55.             ['sub_large_image5''詳細-サブ拡大画像(5)'71],
  56.             ['papc12''詳細ページイメージ画像URL'72],
  57.             ['papc13''詳細ページイメージ画像ALT'73],
  58.             ['getProductTvIdsString''TV ID'74],
  59.             ['getProductTvNamesString''TV名'75],
  60.             ['getProductRelatedProduct1Id''関連商品ID(1)'76],
  61.             ['getProductRelatedProduct1Content''関連商品コメント(1)'77],
  62.             ['getProductRelatedProduct2Id''関連商品ID(2)'78],
  63.             ['getProductRelatedProduct2Content''関連商品コメント(2)'79],
  64.             ['getProductRelatedProduct3Id''関連商品ID(3)'80],
  65.             ['getProductRelatedProduct3Content''関連商品コメント(3)'81],
  66.             ['getProductRelatedProduct4Id''関連商品ID(4)'82],
  67.             ['getProductRelatedProduct4Content''関連商品コメント(4)'83],
  68.             ['getProductRelatedProduct5Id''関連商品ID(5)'84],
  69.             ['getProductRelatedProduct5Content''関連商品コメント(5)'85],
  70.             ['getProductRelatedProduct6Id''関連商品ID(6)'86],
  71.             ['getProductRelatedProduct6Content''関連商品コメント(6)'87],
  72.             ['getProductRelatedProduct7Id''関連商品ID(7)'88],
  73.             ['getProductRelatedProduct7Content''関連商品コメント(7)'89],
  74.             ['getProductRelatedProduct8Id''関連商品ID(8)'90],
  75.             ['getProductRelatedProduct8Content''関連商品コメント(8)'91],
  76.             ['getProductRelatedProduct9Id''関連商品ID(9)'92],
  77.             ['getProductRelatedProduct9Content''関連商品コメント(9)'93],
  78.             ['getProductRelatedProduct10Id''関連商品ID(10)'94],
  79.             ['getProductRelatedProduct10Content''関連商品コメント(10)'95],
  80.             ['getProductRelatedProduct11Id''関連商品ID(11)'96],
  81.             ['getProductRelatedProduct11Content''関連商品コメント(11)'97],
  82.             ['getProductRelatedProduct12Id''関連商品ID(12)'98],
  83.             ['getProductRelatedProduct12Content''関連商品コメント(12)'99],
  84.             ['getProductRelatedProduct13Id''関連商品ID(13)'100],
  85.             ['getProductRelatedProduct13Content''関連商品コメント(13)'101],
  86.             ['getProductRelatedProduct14Id''関連商品ID(14)'102],
  87.             ['getProductRelatedProduct14Content''関連商品コメント(14)'103],
  88.             ['getProductRelatedProduct15Id''関連商品ID(15)'104],
  89.             ['getProductRelatedProduct15Content''関連商品コメント(15)'105],
  90.             ['getProductRelatedProduct16Id''関連商品ID(16)'106],
  91.             ['getProductRelatedProduct16Content''関連商品コメント(16)'107],
  92.         ];
  93.         foreach ($csvFields as $field) {
  94.             $fieldName $field[0];
  95.             $dispName $field[1];
  96.             $sortNo $field[2];
  97.             $referenceFieldName = isset($field[3]) ? $field[3] : null;
  98.             
  99.             if ($referenceFieldName) {
  100.                 $this->addSql("INSERT INTO `dtb_csv` (`csv_type_id`, `creator_id`, `entity_name`, `field_name`, `disp_name`, `sort_no`, `enabled`, `discriminator_type`, `reference_field_name`, `create_date`, `update_date`) VALUES ('1', '1', 'Eccube\\\\\\\\Entity\\\\\\\\Product', '{$fieldName}', '{$dispName}', '{$sortNo}', '0', 'csv', '{$referenceFieldName}', NOW(), NOW())");
  101.             } else {
  102.                 $this->addSql("INSERT INTO `dtb_csv` (`csv_type_id`, `creator_id`, `entity_name`, `field_name`, `disp_name`, `sort_no`, `enabled`, `discriminator_type`, `create_date`, `update_date`) VALUES ('1', '1', 'Eccube\\\\\\\\Entity\\\\\\\\Product', '{$fieldName}', '{$dispName}', '{$sortNo}', '0', 'csv', NOW(), NOW())");
  103.             }
  104.         }
  105.     }
  106.     public function down(Schema $schema): void
  107.     {
  108.         // Remove CSV fields for EC2 export compatibility
  109.         $csvFields = [
  110.             'getProductArtistNamesString',
  111.             'getProductArtistIdsString',
  112.             'papc3',
  113.             'papc4',
  114.             'getProductSaleTypeIdsString',
  115.             'getProductStatusNamesString',
  116.             'getProductStatusIdsString',
  117.             'getProductCategoryIdsString',
  118.             'getProductCategoryNamesString',
  119.             'sub_comment1',
  120.             'sub_comment2',
  121.             'maker_id',
  122.             'Maker',
  123.             'maker_url',
  124.             'comment1',
  125.             'comment3',
  126.             'note',
  127.             'main_list_comment',
  128.             'main_comment',
  129.             'sub_title1',
  130.             'sub_image1',
  131.             'sub_large_image1',
  132.             'sub_title2',
  133.             'sub_image2',
  134.             'sub_large_image2',
  135.             'sub_title3',
  136.             'sub_comment3',
  137.             'sub_image3',
  138.             'sub_large_image3',
  139.             'sub_title4',
  140.             'sub_comment4',
  141.             'sub_image4',
  142.             'sub_large_image4',
  143.             'sub_title5',
  144.             'sub_comment5',
  145.             'sub_image5',
  146.             'sub_large_image5',
  147.             'papc12',
  148.             'papc13',
  149.             'getProductTvIdsString',
  150.             'getProductTvNamesString',
  151.             'getProductRelatedProduct1Id',
  152.             'getProductRelatedProduct1Content',
  153.             'getProductRelatedProduct2Id',
  154.             'getProductRelatedProduct2Content',
  155.             'getProductRelatedProduct3Id',
  156.             'getProductRelatedProduct3Content',
  157.             'getProductRelatedProduct4Id',
  158.             'getProductRelatedProduct4Content',
  159.             'getProductRelatedProduct5Id',
  160.             'getProductRelatedProduct5Content',
  161.             'getProductRelatedProduct6Id',
  162.             'getProductRelatedProduct6Content',
  163.             'getProductRelatedProduct7Id',
  164.             'getProductRelatedProduct7Content',
  165.             'getProductRelatedProduct8Id',
  166.             'getProductRelatedProduct8Content',
  167.             'getProductRelatedProduct9Id',
  168.             'getProductRelatedProduct9Content',
  169.             'getProductRelatedProduct10Id',
  170.             'getProductRelatedProduct10Content',
  171.             'getProductRelatedProduct11Id',
  172.             'getProductRelatedProduct11Content',
  173.             'getProductRelatedProduct12Id',
  174.             'getProductRelatedProduct12Content',
  175.             'getProductRelatedProduct13Id',
  176.             'getProductRelatedProduct13Content',
  177.             'getProductRelatedProduct14Id',
  178.             'getProductRelatedProduct14Content',
  179.             'getProductRelatedProduct15Id',
  180.             'getProductRelatedProduct15Content',
  181.             'getProductRelatedProduct16Id',
  182.             'getProductRelatedProduct16Content',
  183.         ];
  184.         foreach ($csvFields as $fieldName) {
  185.             $this->addSql("DELETE FROM `dtb_csv` WHERE `csv_type_id` = 1 AND `field_name` = '{$fieldName}' AND `entity_name` = 'Eccube\\\\\\\\Entity\\\\\\\\Product'");
  186.         }
  187.     }
  188. }