Downloads
Stars
Version
This package allows creating one-off execute scripts. This should be useful when after some changes need run additional commands (for example, need add a new role to app when we implemented a new feature).
Require this package with composer using the following command:
composer require it-brains/laravel-release-scripts
Step 1. Create a new release script:
php artisan make:release-script add_manage_role
On './database/scripts' path will be create a class in migration format with 'run' method. The file can look like:
<?php
use ITBrains\ReleaseScript\ScriptInterface;
class AddManagerRole implements ScriptInterface
{
/**
* Run the script.
*
* @return void
*/
public function run()
{
\App\Role::create(['title' => 'Manager']);
}
}
Step 2. To edit on your server deploy script - replace migrate command (php artisan migrate --force) with release scripts run command:
...
php artisan release-script:run --force --migrate
...
Note: with '--migrate' option the 'migrate' command running before all release scripts.
If you plan to run a command that requires a confirmation (often doing it on production environment mode) then need not to forget setup an option to prevent it. For example, setup '--force' option for run seed command:
Artisan::call('db:seed', ['--class' => SettingsTableSeeder::class, '--force' => true]);
If you plan to run a command with --class
option, for example: php artisan release-script:run --class=AddManagerRole
, you need add "scripts" directory to composer classmap:
...
"autoload": {
"classmap": [
"database/seeds",
"database/scripts",
"database/factories"
],
"psr-4": {
"App\\": "app/"
}
},
...
php artisan make:release-script
php artisan release-script:run
php artisan release-script:status