it-brains/laravel-release-scripts
最新稳定版本:v0.1.12
Composer 安装命令:
composer require it-brains/laravel-release-scripts
包简介
Laravel Release Scripts, easy to set up one-off execute scripts that will be running during deploy script.
README 文档
README
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).
Install
Require this package with composer using the following command:
composer require it-brains/laravel-release-scripts
How use
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.
Important Notes
-
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
--classoption, 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/" } }, ...
Available commands
php artisan make:release-script
php artisan release-script:run
php artisan release-script:status
Possible todo:
- tests
- add fresh command that will remove all scripts from database and run again
- possible need move creating 'scripts' table to migration because how we will know that need reload all scripts when a developer ran 'php artisan migrate:refresh --seed' - all will be refreshed except scripts! And then really possible need extend migrations command for add the option '--scripts'.
统计信息
- 总下载量: 1.64k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2018-02-02