编程

Laravel Migration Actions 数据迁移管理工具

1337 2021-12-23 15:32:54

Laravel migration actions 是一个类似于版本控制的迁移管理工具,允许团队修改和分享应用的可操作数据。如果你曾经不得不手把手告诉团队伙伴如何在生产环境中执行一些操作,你现在有了解决该问题的方法。

操作存储于 database/actions 目录,和migration是工作方式相似。本包同时包含创建新action的Artisan命令。示例:

<?php
 
use DragonCode\LaravelActions\Support\Actionable;
use Illuminate\Support\Facades\DB;
 
class ExampleAction extends Actionable
{
    protected $transactions = true;
 
    /**
     * Run the actions.
     *
     * @return void
     */
    public function up(): void
    {
        DB::table('users')->insert([
            'name' => 'Example User',
            'email' => 'user@example.com',
            'password' => bcrypt('password')
        ]);
    }
 
    /**
     * Reverse the actions.
     *
     * @return void
     */
    public function down(): void
    {
        //
    }
}

此包主要的一些特性包括:

  • 通过调用mirgrate:actions命令运行actions
  • 只在指定环境下执行actions
  • 特定环境下action排除
  • 可配置 actions 数据库事务 
  • actions 回滚
  • 显示当前环境下的action状态

Github 中查看源码