n3xt0r/laravel-migration-generator

2.0.0 2021-01-16 16:04 UTC

README

Build Status Latest Stable Version Test Coverage Maintainability License

此迁移生成器在引用完整性使用时按正确顺序生成迁移。因此,在开发系统、本地系统或其他系统重新迁移时,可以在不违反约束的情况下迁移模式。

版本兼容性

要求

  • PHP 7.2 或更高版本(也支持 php 8)
    • Pdo_mysql 扩展
  • MySQL 5.7 或更高版本

安装

您可以通过 composer 安装此包:

composer require n3xt0r/laravel-migration-generator

您不需要在 Laravel 的配置中添加任何 ServiceProviders,此包将自动注册到您的项目中。

当您使用 Lumen 时,请确保您已经将以下行添加到您的 app.php:

$app->register(\N3XT0R\MigrationGenerator\Providers\MigrationGeneratorServiceProvider::class);

通过 Artisan 执行迁移器

此迁移器可以通过以下命令在命令行中执行:

php artisan migrate:regenerate

它将以正确的顺序将所有表输出到数据库/migrations 文件夹。因此,当您使用引用完整性时,它将写入所有迁移,以便可以在不手动更改迁移文件顺序的情况下重新迁移。

自定义导出

您对导出的迁移不满意吗?当您需要对其进行一些定制时,可以通过扩展 DI 容器中的导出类来自定义导出。

有一个名为 "migration-generator" 的配置文件,您可以将其发布并自定义。每个导出函数,如“导出字段”、“导出索引”等,都有一个定义类和一个映射类。

定义类

定义类是定义内部运行时导出格式的类。它们用于将模式结果生成到通用格式,以便您或任何人都可以扩展它。

映射类

映射类是将内部通用格式转换为迁移类中可执行 PHP 代码的类。