【问题标题】:Reverse engineering or Auto-Generations of Entities in Laravel?Laravel 中实体的逆向工程或自动生成?
【发布时间】:2013-12-14 19:38:45
【问题描述】:

我通常使用 SF2,使用 Doctrine,可以自动生成实体,如果您在 MySQL Workbench 之类的软件中构建模式,则可以进行逆向工程。

我是 Laravel 的新手,所以有办法做到这两件事吗?我会使用 Laravel,因为我要做一个非常小的项目,但我不想为我们所谓的“迁移”编写所有这些代码,看起来很无聊不是吗?

那么有一种方法可以在 laravel 中生成这些东西吗?也许我必须为此使用 Laravel 中的 Doctrine?

【问题讨论】:

    标签: php laravel reverse-engineering


    【解决方案1】:

    据我所知,仍然无法将架构反转为迁移文件,仅使用 Laravel。但是你可以:

    1) 导出您的 MySQL 架构

    mysqldump -u root -p --no-data dbname > schema.sql
    

    2) 创建迁移以使用您的架构

    php artisan migration:make create_schema
    

    3) 引导您的完整架构

    class CreateSchema extends Migration {
    
        public function up()
        {
            $file = file_get_contents(app_path().'/database/data/full_schema.sql', true);
    
            DB::unprepared($file);
        }
    
        public function down()
        {
        }
    
    }
    

    4) 之后,如果您需要对架构进行任何更改,只需创建新的迁移并进行更改即可。

    未经测试,但应该可以工作。

    【讨论】:

      【解决方案2】:

      如果你想从现有的 mysql 数据库生成迁移文件,你可以使用名为 XCMer / larry-four-generator 的 Laravel 包。除了逆向工程之外,它还有许多其他功能。

      Larry Four 是一个 Laravel 4 包,提供高级模型和 迁移生成功能。感谢拉里,您可以快速 用简单的 DSL 记下您的想法的数据方案并生成 只需单击一下即可从中迁移和模型。拉里也可以 分析您现有的数据方案并为您创造一些魔力。

      试试原来最好的master分支
      https://github.com/XCMer/larry-four-generator/tree/master

      或提供附加功能的扩展模型分支
      https://github.com/XCMer/larry-four-generator/tree/Gadoma-extendedmodels

      【讨论】:

      猜你喜欢
      • 2011-07-27
      • 1970-01-01
      • 2017-04-08
      • 2021-09-29
      • 2010-10-21
      • 2013-10-11
      • 2015-08-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多