mrgear/laravel-migrationrollbackwizard

为 Laravel 迁移回滚提供更多易用性

v1 2023-03-24 09:07 UTC

This package is auto-updated.

Last update: 2024-09-24 12:30:25 UTC


README

为 Laravel 迁移回滚提供更多易用性。

安装

composer require mrgear/laravel-migrationrollbackwizard  

简要说明

此包使用 Laravel 的功能,在迁移回滚时添加额外的操作。 访问文档

框架使用数据库表(迁移)来运行迁移,该表有两个关键列用于此目的:文件和批次。

批次列处理迁移的步骤,而文件列保存迁移文件的名称。

迁移回滚向导使用此表来处理目的。

使用方法

迁移回滚向导是一个控制台命令,它为回滚迁移提供了更多易用性。


命令
php artisan migrate:rollback:wizard {--limit=} {--file=} {--verb=} {--include} {--exclude} 

假设我们有一些迁移文件

  1. 2021_10_12_104234_create_users_table
  2. 2021_10_12_125321_create_wallet_table
  3. 2021_10_12_134000_create_payments_table
  4. 2022_1_14_001120_add_phone_number_column_to_users_table
  5. 2022_1_15_001120_remove_refund_amount_column_from_wallet_table
  6. 2022_1_22_201200_add_status_column_to_payment_table
  7. 2022_3_10_115601_create_transactions_table
  8. 2022_4_14_001120_change_phone_number_column_in_users_table
  9. 2022_5_12_155522_add_last_balance_to_transactions_table
  10. 2022_10_12_133322_remove_transactions_table

--file 选项

使用 --file 选项,您可以直接定位要回滚的迁移。

例如,php artisan migrate:rollback:wizard --file=2022_1_15_001120_remove_refund_amount_column_from_wallet_table 将运行 2022_1_15_001120_remove_refund_amount_column_from_wallet_table 文件的 down 方法。


--verb 选项

--verb 选项将回滚包含该动词的文件。

例如,php artisan migrate:rollback:wizard --verb=users 将运行 2022_4_14_001120_change_phone_number_column_in_users_table、2022_1_14_001120_add_phone_number_column_to_users_table 和 2021_10_12_104234_create_users_table 文件的 down 方法。


--limit 选项

使用 --limit 选项,您可以设置限制数量。迁移回滚将从最后一个迁移文件执行到您指定的数字。

例如,php artisan migrate:rollback:wizard --limit=3 将按顺序运行 2022_10_12_133322_remove_transactions_table、2022_5_12_155522_add_last_balance_to_transactions_table 和 2022_4_14_001120_change_phone_number_column_in_users_table 文件的回滚命令。

注意:如果您运行 php artisan migrate:rollback:wizard --limit=5,则将执行剩余两个迁移(2022_3_10_115601_create_transactions_table、2022_1_22_201200_add_status_column_to_payment_table)


--include 选项

mrw.php 配置文件中已指定一个包含项。使用 php artisan migrate:rollback:wizard --include 将运行在包含数组中添加的迁移文件。

发布配置
php artisan vendor:publish --provider="MRGear\MRW\ServiceProviders\MigrationRollbackWizardServiceProvider" --tag="config"