app/DoctrineMigrations/Version20210319122142.php line 1

Open in your IDE?
  1. <?php
    
    declare(strict_types=1);
    
    /*
     * This file is part of EC-CUBE
     *
     * Copyright(c) EC-CUBE CO.,LTD. All Rights Reserved.
     *
     * http://www.ec-cube.co.jp/
     *
     * For the full copyright and license information, please view the LICENSE
     * file that was distributed with this source code.
     */
    
    namespace DoctrineMigrations;
    
    use Doctrine\DBAL\Schema\Schema;
    use Doctrine\Migrations\AbstractMigration;
    use Eccube\Entity\Master\LoginHistoryStatus;
    
    /**
     * Auto-generated Migration: Please modify to your needs!
     */
    final class Version20210319122142 extends AbstractMigration
    {
        public function up(Schema $schema): void
        {
            $lang = env('ECCUBE_LOCALE');
            $statuses = [
                LoginHistoryStatus::FAILURE => $lang === 'en' ? 'Failure' : '失敗',
                LoginHistoryStatus::SUCCESS => $lang === 'en' ? 'Success' : '成功',
            ];
    
            $sortNo = $this->connection->fetchOne('SELECT MAX(sort_no) + 1 FROM mtb_login_history_status');
            if (is_null($sortNo)) {
                $sortNo = 0;
            }
    
            foreach ($statuses as $id => $name) {
                $statusExists = $this->connection->fetchOne(
                    'SELECT COUNT(*) FROM mtb_login_history_status WHERE id = :id',
                    ['id' => $id]
                );
    
                if ($statusExists == 0) {
                    $this->addSql(
                        "INSERT INTO mtb_login_history_status (id, name, sort_no, discriminator_type) VALUES (?, ?, ?, 'loginhistorystatus')",
                        [$id, $name, $sortNo++]
                    );
                }
            }
        }
    
        public function down(Schema $schema): void
        {
            // this down() migration is auto-generated, please modify it to your needs
        }
    }