我有表“table_1”,它是由许多迁移(添加/更改字段)
制定的我想创建一个新表,它是现有的一个“copy_of_table_1”(使用迁移)的副本,其结构与“table_1”相同,最好的方法是什么?
我想避免进行新迁移并复制粘贴所有添加的已更改字段
答案 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)
最佳方法是创建新迁移并添加所有添加/更改迁移中的字段。我在这里看不到任何更聪明的解决方案。