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');
}
}
我正在从事 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');
}
}