dilneiss / laravel-migrations-generator
从现有数据库生成Laravel迁移
Requires
- php: >=7.1.3
Requires (Dev)
- ext-pdo: *
- friendsofphp/php-cs-fixer: ^2.19.0|^3.1
- mockery/mockery: ^1.0
- nunomaduro/larastan: ^0.4|^0.5|^0.6|^0.7
- orchestra/testbench: ^3.6|^4.0|^5.0|^6.0
- phpmd/phpmd: ^2.10
- squizlabs/php_codesniffer: ^3.5
README
从现有数据库生成Laravel迁移,包括索引和外键!
此包从 https://github.com/Xethron/migrations-generator 克隆而来,并更新以支持Laravel 5.6及以上版本,具有许多功能改进。
支持数据库
目前,生成器支持从以下数据库生成迁移:
- MySQL
- PostgreSQL
- SQL Server
版本兼容性
安装
推荐通过composer安装此包
composer require --dev "kitloong/laravel-migrations-generator"
Laravel设置
Laravel会自动为您注册服务提供者。
Lumen设置
Lumen中不可用自动发现,您需要在 bootstrap/app.php
进行一些修改。
启用外观
取消以下行的注释。
$app->withFacades();
注册提供者
将以下行添加到 注册服务提供者
部分。
$app->register(\MigrationsGenerator\MigrationsGeneratorServiceProvider::class);
使用方法
要从数据库生成迁移,您需要在Laravel的配置中设置您的数据库(config/database.php
)。
要为所有表创建迁移,请运行
php artisan migrate:generate
您可以使用以下方法指定希望生成的表
php artisan migrate:generate --tables="table1,table2,table3,table4,table5"
您也可以忽略带有以下方法的表
php artisan migrate:generate --ignore="table3,table4,table5"
Laravel Migrations Generator将首先生成所有表、列和索引,然后设置所有外键约束。
因此,请确保包含外键中列出的所有表,以便在外键创建时它们都存在。
如果您不是使用默认连接,您可以使用以下方法指定连接名称
php artisan migrate:generate --connection="connection_name"
压缩迁移
默认情况下,生成器将为每个表生成多个迁移文件。
您可以使用以下方法将所有迁移压缩到单个文件中
php artisan migrate:generate --squash
选项
运行 php artisan help migrate:generate
获取选项列表。
感谢
感谢Bernhard Breytenbach的出色工作。此包从 https://github.com/Xethron/migrations-generator 克隆而来。
感谢Jeffrey Way的惊人Laravel-4-Generators包。此包在很大程度上依赖于他的工作。
贡献者
许可证
Laravel Migrations Generator是开源软件,许可协议为MIT许可证