Reverse engineering or Auto-Generations of Entities in Laravel?

前端 未结 2 577
时光说笑
时光说笑 2020-12-15 14:41

I usually work with SF2, and with Doctrine, Entities can be generated automatically and if you build the schema in a Soft like MySQL Workbench you can do Reverse Engineering

相关标签:
2条回答
  • 2020-12-15 15:02

    As far as I can tell there is still no way to reverse a schema to migration files, using Laravel only. But you can:

    1) Export your MySQL schema

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

    2) Create a migration to use your schema

    php artisan migration:make create_schema
    

    3) Boot your full schema

    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) After that, if you need to do any changes to your schema, just create new migrations and make your changes.

    Not tested, but should work.

    0 讨论(0)
  • 2020-12-15 15:06

    If you want to generate migration files from an existing mysql database you can use a Laravel package called XCMer / larry-four-generator. Apart from reverse engineering it has a bunch of other features.

    Larry Four is a Laravel 4 package offering advanced model and migration generation functionality. Thanks to Larry you can quickly jot down the data scheme for your idea in an easy DSL and genereate migrations and models from it with just a single click. Larry can also analyse your existing data scheme and generate some magic for you too.

    Try the original best master branch
    https://github.com/XCMer/larry-four-generator/tree/master

    or my Extended Models fork offering additional functionality
    https://github.com/XCMer/larry-four-generator/tree/Gadoma-extendedmodels

    0 讨论(0)
提交回复
热议问题