/voyager-deployment-orchestrator

Voyager Deployment Orchestrator - Generate Seed Files for BREAD and table.

Primary LanguagePHPMIT LicenseMIT

StyleCI

Introduction

Voyager is an awesome admin tool for laravel. It is very easy to create admin tool for CMS using Voyager's awesome feature BREAD.

Voyager has limitation for the deployment (after you finish the work, create bread and need to publish in production. :) )

Voyager Deployment Orchestrator is the package which will listen BREAD Events (Add, Update Delete) and will generate files, so that BREAD data can be easily seeded.

Installation

composer require drudge-rajen/voyager-deployment-orchestrator

Then publish the default config and seeder file.

php artisan vendor:publish --provider="DrudgeRajen\VoyagerDeploymentOrchestrator\VoyagerDeploymentOrchestratorServiceProvider"

Next, open the config/voyager-deployment-orchestrator.php and add the tables name of which BREAD seeders will be generated.

return [
    'tables' => [
        users
    ],
];

After Publishing the VoyagerDeploymentOrchestratorSeeder class file, autoload composer so that laravel knows about new seeders.

composer dump-autoload

Usage

Voyager Fires Events on Insert, Update, and Delete of BREAD. This package listens for those events and creates respective seeder files.

To run the seeder file:

php artisan db:seed --class=VoyagerDeploymentOrchestratorSeeder

Generating seeder files for tables

VDO also provides an artisan command to generate the seed file for table. In order to generate the seeder file for tables,

php artisan vdo:generate table-name1

It also supports the generation for multiple tables.

php artisan vdo:generate table-name1,table-name2,table-name3

VDO seed generator command will keep the generated seed files inside /database/seeds/breads with prefix TableSeeder

Note: VDO seed generator will not add the seeder file in VoyagerDeploymentOrchestratorSeeder.php class automatically, because this class in only used for BREAD seeders not the tables seeder. If you want to run all the vdo generated seeder at once, please add those in DatabaseSeeder.php class.

Contributing

Run phpcs linter to check for any error that may happen during PR.

composer lint

Fix errors reported by CI during Pull request.

composer fix

Future Tasks

  • Writing Tests