Laravel中的实体逆向工程还是自动生成?

Lor*_*Huz 3 php reverse-engineering laravel

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

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

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

Gad*_*oma 9

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

Larry Four是一个Laravel 4软件包,提供高级模型和迁移生成功能.感谢Larry,您可以通过简单的DSL快速记下您的想法的数据方案,只需单击即可创建迁移和模型.Larry还可以分析您现有的数据方案,并为您生成一些魔力.

尝试原始的最佳主分支
https://github.com/XCMer/larry-four-generator/tree/master

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


Ant*_*iro 5

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

1) 导出您的 MySQL 架构

mysqldump -u root -p --no-data dbname > schema.sql
Run Code Online (Sandbox Code Playgroud)

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

php artisan migration:make create_schema
Run Code Online (Sandbox Code Playgroud)

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()
    {
    }

}
Run Code Online (Sandbox Code Playgroud)

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

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