daverdalas/laravel-post-deploy-commands

创建一次性执行的命令文件,这样您就不必记住它。

1.3.2 2024-05-28 12:43 UTC

This package is not auto-updated.

Last update: 2024-09-27 07:35:47 UTC


README

TL;DR: 创建一次性执行的命令文件,这样您就不必记住它。

这个小巧的包旨在帮助您轻松地在生产环境中进行更改。简而言之:它是一个稍微修改过的Laravel Migrator,用于运行单个命令文件。也许您在问这是为了什么目的?

可能在与Laravel编写的应用程序维护过程中,您需要更改生产环境。例如,将文件复制到单独的目录或将新数据添加到数据库。您以前是如何做到这一点的?

您可能使用了以下两种方法之一

  • 您或团队成员创建了一个命令,然后必须在该服务器上执行它。然而,这引发了一个严重的问题。您必须记住运行它们。如果部署即将进行,并且命令不多,这很容易。但正如您可能已经知道的,当有很多命令要运行,并且部署将在某个遥远的未来进行时,很容易忘记。
  • 您已更改迁移文件。然而,这也引发了一些问题。负责更改数据库的代码与其他更改的代码混合在一起。此外,应该记住这些更改将在每次刷新数据库时启动,这会增加迁移和开发时间。

我创建的解决方案允许您轻松创建只运行一次的命令,并确切地放在您需要的地方。您可以将它们轻松集成到持续交付流程中,并忘记自己运行更改。

安装

  1. 使用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的创造者。它只是为了这个包而进行了修改。