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.