altertable/migrations-generator

从现有数据库生成Laravel迁移

v2.0.2 2017-09-19 17:31 UTC

This package is auto-updated.

Last update: 2024-09-16 03:41:32 UTC


README

Build Status Scrutinizer Code Quality Latest Stable Version Total Downloads License

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

升级到Laravel 5.4

请注意,Laravel 4生成器的编辑已移至 https://github.com/xethron/Laravel-4-Generators.git 以更新兼容性。

Laravel 5安装

建议使用composer安装

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

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

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

Way\Generators\GeneratorsServiceProvider::class,
Xethron\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(\Xethron\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扩展生成支持做出贡献,或修复它并向 jamisonvalenta/feature/laravel-five-stable 提交PR。

Laravel 4安装

运行以下composer命令

composer require --dev "xethron/migrations-generator:~1.3.0"

接下来,添加以下服务提供者

'Way\Generators\GeneratorsServiceProvider',
'Xethron\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的变更日志

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 选项相关的错误

2016年5月29日:v1.2.1

  • 修复了字符字段显示为varchar的问题
  • 允许decimal、float和double为无符号
  • 允许外键更新/删除时级联

2016年5月16日:v1.2.0

  • 现在完全支持enum字段
  • 将位字段作为布尔值支持(Laravel迁移限制)

2016年5月10日:v1.1.1

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

3月24日:v1.1.0

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

感谢

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

贡献者

Bernhard Breytenbach (@BBreyten)

许可证

Laravel迁移生成器是开源软件,许可协议为MIT许可协议