app/DoctrineMigrations/Version20240513081418.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 Version20240513081418 extends AbstractMigration
  10. {
  11.     const csvs = [
  12.         [
  13.             'csv_type_id' => 1,
  14.             'entity_name' => 'Eccube\\\Entity\\\Product',
  15.             'field_name' => 'top_sort',
  16.             'disp_name' => 'トップページ表示順',
  17.             'enabled' => true,
  18.         ],
  19.         [
  20.             'csv_type_id' => 1,
  21.             'entity_name' => 'Eccube\\\Entity\\\Product',
  22.             'field_name' => 'delivery_size',
  23.             'disp_name' => '配送サイズ分類',
  24.             'enabled' => true,
  25.         ],
  26.         [
  27.             'csv_type_id' => 1,
  28.             'entity_name' => 'Eccube\\\Entity\\\Product',
  29.             'field_name' => 'concept_file_name_pc',
  30.             'disp_name' => 'コンセプトPC画像',
  31.             'enabled' => true,
  32.         ],
  33.         [
  34.             'csv_type_id' => 1,
  35.             'entity_name' => 'Eccube\\\Entity\\\Product',
  36.             'field_name' => 'concept_file_name_sp',
  37.             'disp_name' => 'コンセプトSP画像',
  38.             'enabled' => true,
  39.         ],
  40.         [
  41.             'csv_type_id' => 1,
  42.             'entity_name' => 'Eccube\\\Entity\\\Product',
  43.             'field_name' => 'concept_alt_text',
  44.             'disp_name' => 'コンセプト画像altテキスト',
  45.             'enabled' => true,
  46.         ],
  47.         [
  48.             'csv_type_id' => 1,
  49.             'entity_name' => 'Eccube\\\Entity\\\Product',
  50.             'field_name' => 'concept_caption',
  51.             'disp_name' => 'コンセプト見出し',
  52.             'enabled' => true,
  53.         ],
  54.         [
  55.             'csv_type_id' => 1,
  56.             'entity_name' => 'Eccube\\\Entity\\\Product',
  57.             'field_name' => 'concept_content',
  58.             'disp_name' => 'コンセプト内容',
  59.             'enabled' => true,
  60.         ],
  61.         [
  62.             'csv_type_id' => 1,
  63.             'entity_name' => 'Eccube\\\Entity\\\Product',
  64.             'field_name' => 'ProductGalleries',
  65.             'reference_field_name' => 'file_name',
  66.             'disp_name' => 'ムービー&ギャラリー商品画像',
  67.             'enabled' => true,
  68.         ],
  69.         [
  70.             'csv_type_id' => 1,
  71.             'entity_name' => 'Eccube\\\Entity\\\Product',
  72.             'field_name' => 'supplement',
  73.             'disp_name' => '商品仕様(詳細)補足文章',
  74.             'enabled' => true,
  75.         ],
  76.         [
  77.             'csv_type_id' => 1,
  78.             'entity_name' => 'Eccube\\\Entity\\\Product',
  79.             'field_name' => 'movie_url',
  80.             'disp_name' => '商品仕様(詳細)動画URL',
  81.             'enabled' => true,
  82.         ],
  83.         [
  84.             'csv_type_id' => 1,
  85.             'entity_name' => 'Eccube\\\Entity\\\Product',
  86.             'field_name' => 'ProductDetailImages',
  87.             'reference_field_name' => 'file_name',
  88.             'disp_name' => '商品仕様(詳細)画像',
  89.             'enabled' => true,
  90.         ],
  91.         [
  92.             'csv_type_id' => 1,
  93.             'entity_name' => 'Eccube\\\Entity\\\Product',
  94.             'field_name' => 'ProductNaireImages',
  95.             'reference_field_name' => 'file_name',
  96.             'disp_name' => '商品仕様(名入れ)画像',
  97.             'enabled' => true,
  98.         ],
  99.         [
  100.             'csv_type_id' => 1,
  101.             'entity_name' => 'Eccube\\\Entity\\\Product',
  102.             'field_name' => 'naire_content',
  103.             'disp_name' => '商品仕様(名入れ)名入れ説明',
  104.             'enabled' => true,
  105.         ],
  106.         [
  107.             'csv_type_id' => 1,
  108.             'entity_name' => 'Eccube\\\Entity\\\Product',
  109.             'field_name' => 'producer_file_name',
  110.             'disp_name' => '製作者紹介画像',
  111.             'enabled' => true,
  112.         ],
  113.         [
  114.             'csv_type_id' => 1,
  115.             'entity_name' => 'Eccube\\\Entity\\\Product',
  116.             'field_name' => 'producer_alt_text',
  117.             'disp_name' => '製作者紹介画像altテキスト',
  118.             'enabled' => true,
  119.         ],
  120.         [
  121.             'csv_type_id' => 1,
  122.             'entity_name' => 'Eccube\\\Entity\\\Product',
  123.             'field_name' => 'producer_title',
  124.             'disp_name' => '製作者紹介肩書き',
  125.             'enabled' => true,
  126.         ],
  127.         [
  128.             'csv_type_id' => 1,
  129.             'entity_name' => 'Eccube\\\Entity\\\Product',
  130.             'field_name' => 'producer_name',
  131.             'disp_name' => '製作者紹介名前',
  132.             'enabled' => true,
  133.         ],
  134.         [
  135.             'csv_type_id' => 1,
  136.             'entity_name' => 'Eccube\\\Entity\\\Product',
  137.             'field_name' => 'producer_content',
  138.             'disp_name' => '製作者紹介説明文',
  139.             'enabled' => true,
  140.         ],
  141.         [
  142.             'csv_type_id' => 1,
  143.             'entity_name' => 'Eccube\\\Entity\\\Product',
  144.             'field_name' => 'delivery_info',
  145.             'disp_name' => '配送',
  146.             'enabled' => true,
  147.         ],
  148.         [
  149.             'csv_type_id' => 1,
  150.             'entity_name' => 'Eccube\\\Entity\\\Product',
  151.             'field_name' => 'delivery_type',
  152.             'disp_name' => '配送注意事項',
  153.             'enabled' => true,
  154.         ],
  155.         [
  156.             'csv_type_id' => 1,
  157.             'entity_name' => 'Eccube\\\Entity\\\Product',
  158.             'field_name' => 'ProductHashTags',
  159.             'reference_field_name' => 'name',
  160.             'disp_name' => 'ハッシュタグ',
  161.             'enabled' => true,
  162.         ],
  163.     ];
  164.     public function getDescription(): string
  165.     {
  166.         return '';
  167.     }
  168.     public function up(Schema $schema): void
  169.     {
  170.         foreach (self::csvs as $csv) {
  171.             $referece_field_name $csv['reference_field_name'] ?? null;
  172.             $this->addSql(
  173.                 "INSERT INTO dtb_csv (csv_type_id, creator_id, entity_name, field_name, reference_field_name, disp_name, sort_no, enabled, create_date, update_date, discriminator_type) VALUES (
  174.                     {$csv['csv_type_id']},
  175.                     null,
  176.                     '{$csv['entity_name']}',
  177.                     '{$csv['field_name']}',
  178.                     '{$referece_field_name}',
  179.                     '{$csv['disp_name']}',
  180.                     (SELECT c.sort_no FROM dtb_csv as c WHERE c.csv_type_id = {$csv['csv_type_id']} ORDER BY c.sort_no DESC LIMIT 1) + 1,
  181.                     1,
  182.                     NOW(),
  183.                     NOW(),
  184.                     'csv'
  185.                 )"
  186.             );
  187.         }
  188.     }
  189.     public function down(Schema $schema): void
  190.     {
  191.         foreach (self::csvs as $csv) {
  192.             $this->addSql(
  193.                 "DELETE FROM dtb_csv WHERE entity_name = '{$csv['entity_name']}' AND field_name = '{$csv['field_name']}'"
  194.             );
  195.         }
  196.     }
  197. }