Laravel5.3连接和同步多个数据库

时间:2017-02-13 07:53:29

标签: mysql laravel laravel-5.3

我有两个站点site1.dev和site2.dev指向同一个应用程序。我想要的是将site1.dev连接到一个数据库(db1),将site2.dev连接到其他(db2)并将db1同步到db2。我发现使用两个以上的数据库是可能的,但我真正想要的是将所有db1的活动同步到db2。我还创建了一个日志表,用于记录创建,编辑和删除活动。 这是表的模式

    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。 这可能吗 ?有什么方法可以做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以通过记录同步到数据库的数据轨道来完成此操作。比如,在跟踪表中保存employee表的最后一个id,并每天运行一个cronjob来检查employee表id是否大于跟踪表外键(employee_id),然后将未同步的员工数据同步到DB2。