app/DoctrineMigrations/Version20251216033924.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 Version20251216033924 extends AbstractMigration
  10. {
  11.     public function getDescription(): string
  12.     {
  13.         return 'Update name and remove unused order status';
  14.     }
  15.     public function up(Schema $schema): void
  16.     {
  17.         // this up() migration is auto-generated, please modify it to your needs
  18.         // Remove unused statuses
  19.         $this->addSql("
  20.             UPDATE mtb_order_status
  21.             SET discriminator_type = 'orderstatus_del'
  22.             WHERE id IN (
  23.                 2,
  24.                 10,
  25.                 15,
  26.                 17,
  27.                 21,
  28.                 31,
  29.                 99,
  30.                 1000,
  31.                 1001,
  32.                 1002,
  33.                 1003,
  34.                 10000,
  35.                 10001,
  36.                 10002
  37.             )
  38.         ");
  39.         // Reset status's names default of Eccube v4
  40.         // 新規受付
  41.         $this->addSql("
  42.             UPDATE mtb_order_status
  43.             SET name = '新規受付', discriminator_type = 'orderstatus'
  44.             WHERE id = 1
  45.         ");
  46.         // キャンセル
  47.         $this->addSql("
  48.             UPDATE mtb_order_status
  49.             SET name = 'キャンセル', discriminator_type = 'orderstatus'
  50.             WHERE id = 3
  51.         ");
  52.         // 対応中
  53.         $this->addSql("
  54.             UPDATE mtb_order_status
  55.             SET name = '対応中', discriminator_type = 'orderstatus'
  56.             WHERE id = 4
  57.         ");
  58.         // 発送済み
  59.         $this->addSql("
  60.             UPDATE mtb_order_status
  61.             SET name = '発送済み', discriminator_type = 'orderstatus'
  62.             WHERE id = 5
  63.         ");
  64.         // 入金済み
  65.         $this->addSql("
  66.             UPDATE mtb_order_status
  67.             SET name = '入金済み', discriminator_type = 'orderstatus'
  68.             WHERE id = 6
  69.         ");
  70.         // 決済処理中
  71.         $this->addSql("
  72.             UPDATE mtb_order_status
  73.             SET name = '決済処理中', discriminator_type = 'orderstatus'
  74.             WHERE id = 7
  75.         ");
  76.         // 購入処理中
  77.         $this->addSql("
  78.             UPDATE mtb_order_status
  79.             SET name = '購入処理中', discriminator_type = 'orderstatus'
  80.             WHERE id = 8
  81.         ");
  82.         // 返品
  83.         $this->addSql("
  84.             UPDATE mtb_order_status
  85.             SET name = '返品', discriminator_type = 'orderstatus'
  86.             WHERE id = 9
  87.         ");
  88.         // Add statuses
  89.         $statuses = [
  90.             [0'移行前'],
  91.             [20'発送待ち'],
  92.             [30'予約'],
  93.             [9000'GMO新規受付'],
  94.             [9001'GMO新規受付(予約分)'],
  95.             [100'発送準備1'],
  96.             [101'発送準備2'],
  97.             [102'発送準備3'],
  98.             [103'発送準備4'],
  99.             [104'発送準備5'],
  100.             [105'発送準備6'],
  101.             [106'発送準備7'],
  102.             [107'発送準備8'],
  103.             [108'発送準備9'],
  104.             [109'発送準備10'],
  105.         ];
  106.         foreach ($statuses as [$id$name]) {
  107.             $this->addSql("
  108.                 INSERT INTO mtb_order_status (
  109.                     id,
  110.                     name,
  111.                     display_order_count,
  112.                     sort_no,
  113.                     discriminator_type
  114.                 )
  115.                 SELECT
  116.                     $id,
  117.                     '$name',
  118.                     0,
  119.                     1,
  120.                     'orderstatus'
  121.                 WHERE NOT EXISTS (
  122.                     SELECT 1 FROM mtb_order_status WHERE id = $id
  123.                 )
  124.             ");
  125.         }
  126.     }
  127.     public function down(Schema $schema): void
  128.     {
  129.         // this down() migration is auto-generated, please modify it to your needs
  130.     }
  131. }