/laravel-deploy-operations

🚀 Performing any actions during the deployment process

Primary LanguagePHPMIT LicenseMIT

🚀 Laravel Deploy Operations

the dragon code laravel deploy operations

Stable Version Total Downloads Github Workflow Status License

âš¡ Performing any actions during the deployment process

Create specific classes for a one-time or more-time usage, that can be executed automatically after each deployment. Perfect for seeding or updating some data instantly after some database changes, feature updates, or perform any actions.

This package is for you if...

  • you regularly need to update specific data after you deploy new code
  • you often perform jobs after deployment
  • you sometimes forget to execute that one specific job and stuff gets crazy
  • your code gets cluttered with jobs that are not being used anymore
  • your co-workers always need to be reminded to execute that one job after some database changes
  • you often seed or process data in a migration file (which is a big no-no!)

Installation

composer require dragon-code/laravel-deploy-operations

Guidelines for upgrading from previous versions and dragon-code/laravel-migration-actions and dragon-code/laravel-actions packages can be found in this section of the documentation.

Documentation

📚 Read the full documentation at deploy-operations.dragon-code.pro.

Basic Usage

Create your first operation using php artisan make:operation console command and define the actions it should perform.

use App\Models\Article;
use DragonCode\LaravelDeployOperations\Operation;

return new class extends Operation {
    public function __invoke(): void
    {
        Article::query()
            ->lazyById(chunkSize: 100, column: 'id')
            ->each->update(['is_active' => true]);

        // and/or any actions...
    }
};

Next, you can run the console command to start operations:

php artisan operations

📚 Check out the full documentation to learn everything that Laravel Deploy Operations has to offer.

Downloads Stats

This project has gone the way of several names, and here are the number of downloads of each of them:

An upgrade section is available in the documentation for upgrading to a new version.

License

This package is licensed under the MIT License.