migrations/Version20240402151411DataUpdate.php line 1

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace DoctrineMigrations;
  4. use App\Entity\Workflow\ActionStatus;
  5. use App\Entity\Workflow\WorkflowFrequency;
  6. use Doctrine\DBAL\Schema\Schema;
  7. use Doctrine\Migrations\AbstractMigration;
  8. use Symfony\Component\DependencyInjection\ContainerAwareInterface;
  9. use Symfony\Component\DependencyInjection\ContainerAwareTrait;
  10. /**
  11.  * Auto-generated Migration: Please modify to your needs!
  12.  */
  13. final class Version20240402151411DataUpdate extends AbstractMigration  implements ContainerAwareInterface
  14. {
  15.     use ContainerAwareTrait;
  16.     private $actionStatuses = [
  17.         [
  18.             'name' => ActionStatus::ACTION_STATUS_DONE,
  19.             'visibleName' => 'Done',
  20.         ],
  21.         [
  22.             'name' => ActionStatus::ACTION_STATUS_WAITING,
  23.             'visibleName' => 'Waiting',
  24.         ],
  25.         [
  26.             'name' => ActionStatus::ACTION_STATUS_SKIPPED,
  27.             'visibleName' => 'Skipped',
  28.         ],
  29.         [
  30.             'name' => ActionStatus::ACTION_STATUS_CANCELED,
  31.             'visibleName' => 'Canceled',
  32.         ],
  33.         [
  34.             'name' => ActionStatus::ACTION_STATUS_ERROR,
  35.             'visibleName' => 'Error',
  36.         ],
  37.     ];
  38.     private $workflowFrequencies = [
  39.         [
  40.             'name' => WorkflowFrequency::WORKFLOW_FREQUENCY_ONE_TIME,
  41.             'visibleName' => 'One time',
  42.         ],
  43.         [
  44.             'name' => WorkflowFrequency::WORKFLOW_FREQUENCY_RECURRING,
  45.             'visibleName' => 'Recurring',
  46.         ],
  47.     ];
  48.     public function getDescription(): string
  49.     {
  50.         return '';
  51.     }
  52.     public function up(Schema $schema): void
  53.     {
  54.         // this up() migration is auto-generated, please modify it to your needs
  55.         $entityManager $this->container->get('doctrine.orm.entity_manager');
  56.         foreach ($this->actionStatuses as $actionStatus) {
  57.             $newActionStatus = new ActionStatus();
  58.             $newActionStatus->setName($actionStatus['name']);
  59.             $newActionStatus->setVisibleName($actionStatus['visibleName']);
  60.             $entityManager->persist($newActionStatus);
  61.         }
  62.         foreach ($this->workflowFrequencies as $workflowFrequency) {
  63.             $newWorkflowFrequency = new WorkflowFrequency();
  64.             $newWorkflowFrequency->setName($workflowFrequency['name']);
  65.             $newWorkflowFrequency->setVisibleName($workflowFrequency['visibleName']);
  66.             $entityManager->persist($newWorkflowFrequency);
  67.         }
  68.         $entityManager->flush();
  69.     }
  70.     public function down(Schema $schema): void
  71.     {
  72.         // this down() migration is auto-generated, please modify it to your needs
  73.     }
  74. }