a2workspace / laravel-database-patcher

一个基于项目的数据库补丁管理工具

1.1.1 2022-07-24 23:24 UTC

This package is auto-updated.

Last update: 2024-09-04 05:54:22 UTC


README

一个基于项目的数据库补丁管理工具。

Laravel-Database-Patcher demo animation

随着项目的进行,难免需要对现有的数据表进行修补,但过于复杂的 database/migrations 文件可能会产生一些问题。a2workspace/laravel-database-patcher 提供了一个简单的管理工具,允许你使用独立的 database/patches 文件夹来放置额外的 迁移文件

本套件可以解决以下问题

  • 开发者想添加一些修复用的 迁移文件,但又不想将其放入 database/migrations 影响开发和测试的情况
  • 运维人员想编写一些数据修正的脚本,但又不想影响开发和测试的情况
  • 运维人员想编写一些数据修正的脚本,并在测试环境执行一遍,待测试通过后才在正式环境运行的情况

安装 | 安装

执行以下命令通过 composer 将其引入到你的 Laravel 项目中

composer require a2workspace/laravel-database-patcher

然后使用 vendor:publish 命令生成 database/patches 文件夹

php artisan vendor:publish --tag=@a2workspace/laravel-database-patcher

使用方法 | 如何使用

现在你可以使用 db:patch Artisan 命令 来管理数据库迁移补丁。

php artisan db:patch

该命令将读取 database/patches 下的 迁移文件,并列出可用选项。

还原已安装的补丁 | 还原已安装的补丁

使用 --revert 或简写 -r 参数,可以执行已安装的迁移文件的 回滚 操作

php artisan db:patch --revert

生成补丁文件 | 如何生成补丁文件

补丁与原生的 迁移文件 完全相同,你可以参考 生成迁移文件更新表 的说明来生成 迁移文件,然后将文件移动到 database/patches 文件夹中。

或直接使用 make 命令生成

php artisan make:migration --path=database/patches add_soft_deletes_to_users_table