Php 多个数据库的同步?

Php 多个数据库的同步?,php,database,laravel,synchronization,Php,Database,Laravel,Synchronization,我有一个使用postgress数据库的web应用程序。几个基于web的会计程序及其自己的数据库与web应用程序集成。必须实现所有数据库的同步。换句话说,如果一个数据库中发生了更改,那么所有其他数据库都应该同步数据 我以前从未这样做过,我想知道有什么解决方案或方法可以解决这个问题 同步应该使用web api进行。您可以使用DB::listen()获取所有查询,然后复制每个插入、更新或删除查询 #app/Providers/AppServiceProvider.php 名称空间应用程序\提供者; 使

我有一个使用postgress数据库的web应用程序。几个基于web的会计程序及其自己的数据库与web应用程序集成。必须实现所有数据库的同步。换句话说,如果一个数据库中发生了更改,那么所有其他数据库都应该同步数据

我以前从未这样做过,我想知道有什么解决方案或方法可以解决这个问题


同步应该使用web api进行。

您可以使用
DB::listen()
获取所有查询,然后复制每个插入、更新或删除查询

#app/Providers/AppServiceProvider.php
名称空间应用程序\提供者;
使用Illumb\Support\Facades\DB;
使用Illumb\Support\ServiceProvider;
使用light\Support\Str;
类AppServiceProvider扩展了ServiceProvider
{
公共职能登记册()
{
//
}
公共函数boot()
{
//只侦听默认连接,无需担心每次复制时会触发它
DB::listen(函数($query){
if(Str::startsWith($query->sql,['insert','update','delete'])){
DB::connection('connection2')->语句($query->sql,$query->bindings);
DB::connection('connection3')->语句($query->sql,$query->bindings);
DB::connection('connection4')->语句($query->sql,$query->bindings);
}
});
}
}

您可以使用
DB::listen()
获取所有查询,然后复制每个插入、更新或删除查询

#app/Providers/AppServiceProvider.php
名称空间应用程序\提供者;
使用Illumb\Support\Facades\DB;
使用Illumb\Support\ServiceProvider;
使用light\Support\Str;
类AppServiceProvider扩展了ServiceProvider
{
公共职能登记册()
{
//
}
公共函数boot()
{
//只侦听默认连接,无需担心每次复制时会触发它
DB::listen(函数($query){
if(Str::startsWith($query->sql,['insert','update','delete'])){
DB::connection('connection2')->语句($query->sql,$query->bindings);
DB::connection('connection3')->语句($query->sql,$query->bindings);
DB::connection('connection4')->语句($query->sql,$query->bindings);
}
});
}
}

像这样的东西可能会有帮助-像这样的东西可能会有帮助-非常简洁的解决方案谢谢。也就是说,我不知道这是否是这种情况下的良好实践。这只是我最初处理这个问题的方式。非常简洁的解决方案谢谢。也就是说,我不知道这是否是这种情况下的良好实践。这只是我最初处理问题的方式。