webikevn / migration-generate

从现有数据库生成Laravel迁移

1.0.3 2020-07-27 06:16 UTC

This package is auto-updated.

Last update: 2024-09-27 15:16:20 UTC


README

从现有数据库生成Laravel迁移,包括索引和外键!

##新闻

  1. 对FieldGenerator和IndexGenerator进行了主要重写。
  2. 修复了各种错误。
  3. 添加了对如geometry、point等空间数据类型支持。
  4. 支持更多Laravel迁移类型,如json、uuid、longText、year等。
  5. 添加了对spatialIndex的支持。
  6. timestamp和datetime支持精度。
  7. 修复了MySQL中的tinyInteger和boolean问题。
  8. 可以生成softDeletes、rememberToken、timestamps类型。
  9. 支持MySQL的set。
  10. 现在可以生成可空的timestamp。
  11. 删除了未使用的类。
  12. 添加了UT!
  13. 将添加更多UT以增加覆盖率。

此包是从https://github.com/Xethron/migrations-generator克隆并更新以支持Laravel 6及更高版本。

版本兼容性

安装

推荐通过composer安装此包

composer require --dev "webikevn/migration-generate"

Laravel设置

Laravel将自动为您注册服务提供者。

Lumen设置

Lumen中不可用自动发现,您需要在bootstrap/app.php中进行一些修改。

注册提供者

添加以下行

$app->register(\Webike\MigrationsGenerator\MigrationsGeneratorServiceProvider::class);

使用方法

要从数据库生成迁移,您需要在Laravel的Config中设置您的数据库。

运行php artisan migrate:generate来创建所有表的迁移,或者您可以使用php artisan migrate:generate table1,table2,table3,table4,table5指定您要生成的表。您也可以使用--ignore="table3,table4,table5"忽略某些表。

Laravel Migrations Generator将首先生成所有表、列和索引,然后设置所有外键约束。因此,请确保包含外键中列出的所有表,以便在创建外键时它们都存在。

如果您的连接不是默认连接,您可以使用--connection="connection_name"指定连接名称。

运行php artisan help migrate:generate以获取选项列表。

感谢

此包是从https://github.com/Xethron/migrations-generator克隆的

感谢Jeffrey Way的Laravel-4-Generators包。此包在很大程度上依赖于他的工作。

贡献者

Nguyen Giang (https://#/truonggiang.gk)

许可证

Laravel Migrations Generator是开源软件,许可协议为MIT许可证