laravel5迁移复制现有表

时间:2016-05-10 14:35:21

标签: php laravel laravel-5 migration

我有表“table_1”,它是由许多迁移(添加/更改字段)

制定的

我想创建一个新表,它是现有的一个“copy_of_table_1”(使用迁移)的副本,其结构与“table_1”相同,最好的方法是什么?

我想避免进行新迁移并复制粘贴所有添加的已更改字段

2 个答案:

答案 0 :(得分:9)

您可以使用原始查询执行此操作:

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use DB;

class MyNewTable extends Migration {

    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        DB::statement('CREATE TABLE newtable LIKE oldtable; ');
    }


    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::drop('newtable');
    }

}

绝对不推荐,但可能。

答案 1 :(得分:0)

最佳方法是创建新迁移并添加所有添加/更改迁移中的字段。我在这里看不到任何更聪明的解决方案。