编程

Laravel Migration Actions 数据迁移管理工具

2010 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 中查看源码