0
我有两个站点site1.dev和site2.dev指向同一个应用程序。我想要的是将site1.dev连接到一个数据库(db1),将site2.dev连接到其他(db2)并将db1同步到db2。以及我发现使用两个以上的数据库是可能的,但我真正想要的是将db1的所有活动同步到db2。我还创建了一个日志表来记录创建,编辑和删除活动。 这是表Laravel5.3连接并同步多个数据库
Schema::create('sync_logs', function (Blueprint $table) {
$table->increments('id');
$table->integer('model_id')->nullable()->default(null);
$table->string('model')->nullable()->default(null);
$table->integer('action')->comment('0=>Create, 1=>Update, 2=>Delete');
$table->text('data');
$table->boolean('synced')->default(0);
$table->timestamps();
});
我打算检索所有不同步的数据,并在循环中的数据插入到DB2的模式。 这可能吗?有什么办法做到这一点?
您是否尝试过[数据库复制](https://en.wikipedia.org/wiki/Replication_(computing)#Database_replication),或者您正试图自己实现此目的。如果是第二个,请给我们关于何时想复制数据库的更多信息,以及关于您期望的设置的更多信息。例如数据库将始终在同一台机器上? – melanholly
数据库不会总是在同一台机器上。 db1将位于客户端计算机上,db2位于云服务器上,但为了开发目的,现在我希望它们都位于我的计算机上。当应用程序安装在客户端机器上时,所有活动都记录在db1中,并且db2将每天更新一次。 – sar
好的,您可以使用https://laravel.com/docs/5.3/scheduling进行计时,并对所有尚未同步的模型进行序列化 – melanholly