如何通过扩展Laravel的迁移逻辑在Laravel中进行特殊类型的迁移?

时间:2020-06-23 11:00:51

标签: php database-migration laravel-5.7

在laravel中,使用以下命令:

artisan make:migration {migration_name}

我能够创建迁移。尽管在许多情况下,有些迁移遵循特定的模式并用于更新报告表:

use Illuminate\Support\Facades\DB;
use Illuminate\Database\Migrations\Migration;

class MyMigrqation extends Migration
{
   public function up()
   {
      // SQL that inserts value in a table used for generating reports.
      // The sql code is generated using another tool.
      $sql=<<<'REPORT_CODE'
REPORT_CODE;
       DB::connection("my_reporting_db")->statement($sql);
   }

   public function down()
   {
   }
}

但是当前命令没有创建它们(应该这样做),因此我想创建自己的命令来创建这种特殊类型的迁移。因此,我如何继承,扩展laravel用于创建迁移的默认逻辑,然后添加自己的逻辑以使用rt5(适当的源代码)修改迁移脚本。

例如,我要创建一个命令:

artisan make:migration:for_reports

这将产生一个空的迁移准备就绪,只需放置生成的sql代码即可更新我的报告。

您知道我该怎么做吗?

0 个答案:

没有答案