n3xt0r / laravel-migration-generator
从数据库创建迁移
Requires
- php: ^7.2.5|^8.0
- ext-pdo_mysql: *
- doctrine/dbal: ^2.10
- laravel/framework: ^7.30
- marcj/topsort: ^1.1
Requires (Dev)
- orchestra/testbench: ^5.0
- phpunit/phpunit: ^8.5|^9.5.0
This package is auto-updated.
Last update: 2024-09-18 01:18:25 UTC
README
此迁移生成器在引用完整性使用时按正确顺序生成迁移。因此,在开发系统、本地系统或其他系统重新迁移时,可以在不违反约束的情况下迁移模式。
版本兼容性
要求
- 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 代码的类。