migrations/Version20251123135708.php line 1

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace DoctrineMigrations;
  4. use App\Service\Gamification\MissionIdentifier;
  5. use Doctrine\DBAL\Schema\Schema;
  6. use Doctrine\Migrations\AbstractMigration;
  7. final class Version20251123135708 extends AbstractMigration
  8. {
  9.     public function getDescription(): string
  10.     {
  11.         return 'Add all missions (one_time and monthly)';
  12.     }
  13.     public function up(Schema $schema): void
  14.     {
  15.         $missions = [
  16.             // One-time missions
  17.             [1MissionIdentifier::TYPE_ONE_TIME_COMMISSION'one_time_commission''one_time'1],
  18.             [2MissionIdentifier::TYPE_ONE_TIME_RANK'one_time_rank''one_time'1],
  19.             [3MissionIdentifier::TYPE_ONE_TIME_PERSONAL_CLIENT'one_time_personal_client''one_time'1],
  20.             [4MissionIdentifier::TYPE_ONE_TIME_QUALIFICATION_IN_PERSONAL_CLIENTS'one_time_qualification_in_personal_clients''one_time'1],
  21.             [5MissionIdentifier::TYPE_ONE_TIME_PERSONAL_CLIENT_POINT'one_time_personal_client_point''one_time'1],
  22.             [6MissionIdentifier::TYPE_ONE_TIME_CONNECTION'one_time_connection''one_time'1],
  23.             [7MissionIdentifier::TYPE_ONE_TIME_BIRTH_BIZ_DAY'one_time_birth_biz_day''one_time'1],
  24.             [8MissionIdentifier::TYPE_ONE_TIME_ACTIVE_BIZPARTNER'one_time_active_bizpartner''one_time'1],
  25.             [9MissionIdentifier::TYPE_ONE_TIME_ACTIVE_CLIENT'one_time_active_client''one_time'1],
  26.             [10MissionIdentifier::TYPE_ONE_TIME_COUNTRY_POINT'one_time_country_point''one_time'1],
  27.             [11MissionIdentifier::TYPE_ONE_TIME_FUTURES_POINT'one_time_futures_point''one_time'1],
  28.             [12MissionIdentifier::TYPE_ONE_TIME_LUUME_POINT'one_time_luume_point''one_time'1],
  29.             [13MissionIdentifier::TYPE_ONE_TIME_MISSION_COMPLETED'one_time_mission_completed''one_time'1],
  30.             // Monthly missions
  31.             [14MissionIdentifier::TYPE_MONTHLY_PERSONAL_CLIENT_POINT'monthly_personal_client_point''monthly'1],
  32.             [15MissionIdentifier::TYPE_MONTHLY_TOP_PERFORMER'monthly_top_performer''monthly'1],
  33.             [16MissionIdentifier::TYPE_MONTHLY_QUALIFICATION'monthly_qualification''monthly'1],
  34.         ];
  35.         foreach ($missions as [$id$name$marketingName$recurrence$isEnabled]) {
  36.             $this->addSql("INSERT INTO mybiz_mission (id, name, marketing_name, recurrence, is_enabled)
  37.                 VALUES ({$id}, '{$name}', '{$marketingName}', '{$recurrence}', {$isEnabled})");
  38.         }
  39.     }
  40.     public function down(Schema $schema): void
  41.     {
  42.         $this->addSql('DELETE FROM mybiz_mission');
  43.     }
  44. }