daverdalas / laravel-post-deploy-commands
创建一次性执行的命令文件,这样您就不必记住它。
1.3.2
2024-05-28 12:43 UTC
Requires
- php: >=7.2
- illuminate/config: ^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- illuminate/filesystem: ^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
This package is not auto-updated.
Last update: 2024-09-27 07:35:47 UTC
README
TL;DR: 创建一次性执行的命令文件,这样您就不必记住它。
这个小巧的包旨在帮助您轻松地在生产环境中进行更改。简而言之:它是一个稍微修改过的Laravel Migrator,用于运行单个命令文件。也许您在问这是为了什么目的?
可能在与Laravel编写的应用程序维护过程中,您需要更改生产环境。例如,将文件复制到单独的目录或将新数据添加到数据库。您以前是如何做到这一点的?
您可能使用了以下两种方法之一
- 您或团队成员创建了一个命令,然后必须在该服务器上执行它。然而,这引发了一个严重的问题。您必须记住运行它们。如果部署即将进行,并且命令不多,这很容易。但正如您可能已经知道的,当有很多命令要运行,并且部署将在某个遥远的未来进行时,很容易忘记。
- 您已更改迁移文件。然而,这也引发了一些问题。负责更改数据库的代码与其他更改的代码混合在一起。此外,应该记住这些更改将在每次刷新数据库时启动,这会增加迁移和开发时间。
我创建的解决方案允许您轻松创建只运行一次的命令,并确切地放在您需要的地方。您可以将它们轻松集成到持续交付流程中,并忘记自己运行更改。
安装
- 使用Composer安装此包
composer require daverdalas/laravel-post-deploy-commands
该包将自动注册到Laravel 5.5+。对于Laravel或Lumen的旧版本,请注册ServiceProvider
DaverDalas\LaravelPostDeployCommands\ServiceProvider::class
用法
创建新的命令文件。 文件将保存在database/commands目录中。
php artisan make:deploy-command your_command_name
这将在database/commands目录中生成一个命令文件TIMESTAMP_your_command_name.php
。
<?php use Illuminate\Console\Command; class YourCommandName extends Command { /** * Execute the console command. * * @return void */ public function handle() { // $this->info('Command message'); } }
您可以根据自己的意愿自由编辑文件:)
可用选项
--path=
命令文件应创建的位置。
运行新的命令(尚未启动的命令)。
php artisan deploy-commands:run
可用选项
--pretend
输出将要运行的SQL查询。
--path=
要执行的命令文件的路径。例如,--path=/commands/
。
标记所有完成
php artisan deploy-commands:mark-all-completed
将所有待处理的命令标记为已完成。这在调试或本地开发中很有用。
待办事项
- 编写干净的代码
- 编写一些测试
注意:创建此包所使用的代码基于Laravel代码。因此,所有关于其创建的贡献都属于Laravel的创造者。它只是为了这个包而进行了修改。