thiagobrauer/laravel-incremental-migrations

该软件包最新版本(dev-main)没有可用的许可信息。

该Laravel软件包扩展了命令php artisan make:migration,在迁移文件末尾添加一个增量数字,如果已存在具有相同名称的另一个迁移。它还具有自己的artisan命令来修复现有迁移的名称。

dev-main 2021-04-07 18:19 UTC

This package is auto-updated.

Last update: 2024-09-08 01:20:15 UTC


README

此Laravel软件包扩展了命令 php artisan make:migration,在具有相同名称的另一个迁移文件末尾添加一个增量数字。它还具有自己的artisan命令来修复现有迁移的名称。

假设您运行了php artisan make:migration alter_users_table创建了迁移,然后,在稍后需要创建另一个迁移以修改用户表时,您再次运行相同的命令。Laravel 8在创建新迁移之前会检查此问题,您将收到一个InvalidArgumentException,因此此软件包可能没有用处。在Laravel < 8版本中,当您运行php artisan migrate时,您将收到错误Cannot declare class AlterUsersTable, because the name is already in use.

此软件包所做的是在迁移文件末尾添加一个增量数字,因此类名永远不会相同。如果您多次运行php artisan make:migration alter_users_table,您将得到*_alter_users_table.php*_alter_users_table_2.php*_alter_users_table_3.php等等。

安装

composer require thiagobrauer/laravel-incremental-migrations

将服务提供者添加到您的config/app.php(Laravel 5.4及以下版本)

...
ThiagoBrauer\LaravelIncrementalMigrations\IncrementalMigrationsServiceProvider

用法

要创建新的迁移,只需像往常一样调用artisan命令

php artisan make:migration migration_name 

修复现有迁移

⚠️ 不推荐在生产环境中运行的项目中使用

php artisan incremental-migrations:fix

此命令将检查所有现有的迁移,并在存在重复项时重命名它们。

Laravel 8现在包含一个"squash"(合并)功能。查看它,因为它可能使用此命令的替代方案。