<?php
declare(strict_types=1);
namespace DoctrineMigrations;
use Doctrine\DBAL\Schema\Schema;
use Doctrine\Migrations\AbstractMigration;
/**
* Auto-generated Migration: Please modify to your needs!
*/
final class Version20251216033924 extends AbstractMigration
{
public function getDescription(): string
{
return 'Update name and remove unused order status';
}
public function up(Schema $schema): void
{
// this up() migration is auto-generated, please modify it to your needs
// Remove unused statuses
$this->addSql("
UPDATE mtb_order_status
SET discriminator_type = 'orderstatus_del'
WHERE id IN (
2,
10,
15,
17,
21,
31,
99,
1000,
1001,
1002,
1003,
10000,
10001,
10002
)
");
// Reset status's names default of Eccube v4
// 新規受付
$this->addSql("
UPDATE mtb_order_status
SET name = '新規受付', discriminator_type = 'orderstatus'
WHERE id = 1
");
// キャンセル
$this->addSql("
UPDATE mtb_order_status
SET name = 'キャンセル', discriminator_type = 'orderstatus'
WHERE id = 3
");
// 対応中
$this->addSql("
UPDATE mtb_order_status
SET name = '対応中', discriminator_type = 'orderstatus'
WHERE id = 4
");
// 発送済み
$this->addSql("
UPDATE mtb_order_status
SET name = '発送済み', discriminator_type = 'orderstatus'
WHERE id = 5
");
// 入金済み
$this->addSql("
UPDATE mtb_order_status
SET name = '入金済み', discriminator_type = 'orderstatus'
WHERE id = 6
");
// 決済処理中
$this->addSql("
UPDATE mtb_order_status
SET name = '決済処理中', discriminator_type = 'orderstatus'
WHERE id = 7
");
// 購入処理中
$this->addSql("
UPDATE mtb_order_status
SET name = '購入処理中', discriminator_type = 'orderstatus'
WHERE id = 8
");
// 返品
$this->addSql("
UPDATE mtb_order_status
SET name = '返品', discriminator_type = 'orderstatus'
WHERE id = 9
");
// Add statuses
$statuses = [
[0, '移行前'],
[20, '発送待ち'],
[30, '予約'],
[9000, 'GMO新規受付'],
[9001, 'GMO新規受付(予約分)'],
[100, '発送準備1'],
[101, '発送準備2'],
[102, '発送準備3'],
[103, '発送準備4'],
[104, '発送準備5'],
[105, '発送準備6'],
[106, '発送準備7'],
[107, '発送準備8'],
[108, '発送準備9'],
[109, '発送準備10'],
];
foreach ($statuses as [$id, $name]) {
$this->addSql("
INSERT INTO mtb_order_status (
id,
name,
display_order_count,
sort_no,
discriminator_type
)
SELECT
$id,
'$name',
0,
1,
'orderstatus'
WHERE NOT EXISTS (
SELECT 1 FROM mtb_order_status WHERE id = $id
)
");
}
}
public function down(Schema $schema): void
{
// this down() migration is auto-generated, please modify it to your needs
}
}