domlip94/migrations-generator

从现有数据库生成 Laravel 迁移

dev-master 2019-04-27 13:09 UTC

This package is auto-updated.

Last update: 2024-09-28 01:58:11 UTC


README

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

这是对 (https://github.com/Xethron/migrations-generator) 的新分支。我打算保持其更新并添加新功能。

Laravel 5.4 升级

请注意,Laravel 4 生成器已移动到 https://github.com/domlip94/Laravel-4-Generators.git,以确保我能保持其最新状态。它仍然使用原始命名空间 Way

Laravel 5 安装

建议通过 composer 安装此包

composer require --dev "domlip94/migrations-generator"

在 Laravel 5.5 中,服务提供程序将自动注册。

在框架的旧版本中,编辑 config/app.php 并将以下内容添加到 providers 部分

Way\Generators\GeneratorsServiceProvider::class,
Domlip\MigrationsGenerator\MigrationsGeneratorServiceProvider::class,

如果您只想为开发环境使用此库,您可以将以下代码添加到您的 app/Providers/AppServiceProvider.php 文件中,在 register() 方法内

public function register()
{
    if ($this->app->environment() !== 'production') {
        $this->app->register(\Way\Generators\GeneratorsServiceProvider::class);
        $this->app->register(\Domlip\MigrationsGenerator\MigrationsGeneratorServiceProvider::class);
    }
    // ...
}

注意

  • 感谢 @jamisonvalenta,您现在可以在 Laravel 5 中生成迁移了!
  • feature/laravel-five-stable 是从 way/generators 3.0.3 分支出来的,并已准备好用于 Laravel 5.0。Jeffrey Way 已停止支持 Laravel 5,因此其他 artisan generate: 命令可能不会兼容 5.0。请调查 artisan make: 命令的替代方案,为 Laravel 贡献以扩展生成支持,或修复并提交 PR 到 jamisonvalenta/feature/laravel-five-stable

Laravel 4 安装

运行以下 composer 命令

composer require --dev "domlip94/migrations-generator"

接下来,添加以下服务提供程序

'Way\Generators\GeneratorsServiceProvider',
'Domlip\MigrationsGenerator\MigrationsGeneratorServiceProvider',

设置完成。要验证其是否工作,请运行 php artisan,并查找命令 migrate:generate

用法

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

运行 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 获取选项列表。

查看 Chung Tran 的博客文章以获取快速入门步骤: 在 Laravel 4 中从现有数据库生成迁移

变更日志

Laravel Migrations Generator 的变更日志

2019年4月26日:v3.0.0

  • 更新了必需的类导入

2016年11月20日:v2.0.0

  • 支持 Laravel 5

2016年11月20日:v1.3.0

  • 添加 --defaultIndexNames 和 --defaultFKNames 选项以使用 Laravel 的默认生成名称
  • 支持 --no-interaction
  • 迁移表字段注释
  • 如果非默认,将连接添加到迁移中
  • 错误修复
    • --ignore 不忽略列表中的第一个表
    • 从索引名称中移除反引号 #17
    • 删除使用错误键名的外键 #34
    • 从迁移中移除表前缀
    • 转义表名和参数
    • 将 JSON 列映射为文本
    • 布尔默认结果为空字符串

2016年7月25日:v1.2.2

  • 支持 Laravel 4.2
  • 支持命名外键
  • 修复了与 --ignore 选项相关的错误

5月29日:v1.2.1

  • 修复了字符字段显示为 varchar 的问题
  • 允许十进制、浮点数和双精度无符号
  • 允许在更新/删除外键时级联

5月16日:v1.2.0

  • 现在完全支持枚举字段
  • 添加对位字段作为布尔值的支持(Laravel 迁移限制)

5月10日:v1.1.1

  • 修复了迁移使用枚举的表时的崩溃问题
  • 添加了测试
  • 代码的重大重构

3月24日:v1.1.0

  • 能够在迁移表中添加条目,这样它们就不会因为已经存在而运行。
  • 将 Blob 转换为二进制字段
  • 轻微的代码更改

谢谢

感谢 Jeffrey Way 的 Laravel-4-Generators 包,这个包在很大程度上依赖于他的工作。感谢 Bernhard Breytenbach 对该包的版本。

贡献者

Dominic Lipscombe (@Domlip94) Bernhard Breytenbach (@BBreyten)

许可

Laravel 迁移生成器是开源软件,受 MIT 许可证 许可。