Laravel,将表从一个数据库复制到另一个

Laravel, copy tables from one database to other

我正在从事 SaaS 项目。对于不同的客户请求更多或更少的字段等,我相信这会有所帮助,而不是仅仅在已经创建的 tables 上继续增长,将确实可以增长的 tables 划分为每个客户的单独数据库。为此,将涉及重新创建 tables 到已经设置的 X 连接,并创建一堆 tables 使迁移变得巨大。

我的问题是是否有一种方法可以将 table example_table 从数据库 A 复制到数据库 B 以使用正常迁移保持数据,或者我是否最好使用一些 DBMS 来制作模板。

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

<?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 conection2.newtable LIKE system.oldtable; ');
   }


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