This package provides the ability to run migrations of the netlogix/migrations package (Netlogix.Migrations) asynchronously.
composer require netlogix/migrations-jobqueue
To run a migration asynchronously, the Queue to be used needs to be defined:
Netlogix:
Migrations:
JobQueue:
queueName: 'nlx-migrations'The queue (In this example nlx-migrations) must be configured in Flowpack.JobQueue.Common (Check Github for more info)!
Simply use the AsyncMigration interface in your migration:
<?php
declare(strict_types=1);
namespace Netlogix\Migrations\Persistence\Migrations;
use Netlogix\Migrations\JobQueue\Domain\Model\AsyncMigration;
class Version20210114172342 implements AsyncMigration
{
public function up(): void
{
// ...
}
public function down(): void
{
// ...
}
}When ./flow migrations:migrate is run, the migration will instantly be marked as executed and an asynchronous job will be queued to the configured jobqueue.