##前提
####元データ
サーバー名 server.test01.com
DB名 test01
テーブル名 users
####同期先
サーバー名 server.test02.com
DB名 test02
テーブル名 customers
##やりたいこと
現在Laravelで新規開発を行っています。
既存サービス(FuelPHP)のユーザデータを利用するためにデータを同期する必要があります。
元データのusersテーブルのうち、条件を満たすデータを
同期先のcustomersテーブルに挿入し、元データに変更がある場合は同期先を上書きしたいです。
(同期先のサービス内でこのデータを編集・削除することはありません)
1日1回同期先のサーバーからCRONを使ってこの作業を行います。
サーバーはどちらもさくらのマネージドサーバーです。
同じサーバーにある別のDBからであれば、以下のSQL文でデータが同期できる事を確認しています。
sql
1INSERT INTO customers(id, email, password, username, delete_flg) 2SELECT id, email, password, username, delete_flg 3FROM test01.users 4INNER JOIN test01.seller 5ON test01.users.id = test01.seller.user_id 6WHERE not exists( 7SELECT ‘X’ 8FROM customers 9WHERE 10 customers.id = test01.users.id 11 ) 12AND test01.seller.product_id = 1 13 14 UPDATE customers, test01.users 15 SET 16 customers.email = test01.users.email, 17 customers.password = test01.users.password, 18 customers.username = test01.users.username, 19 customers.delete_flg = test01.users.delete_flg, 20 21WHERE 22 engineers.id = test01.users.id
これを異なるサーバーでやりたい場合どのようにすればよいのでしょうか。
また上記の目的が達成できれば方法はSQLで無くても構いません。
(CSVファイルを使う方法もあると聞きました)
他に良い方法があれば教えて頂きたいです。
回答のために必要な情報がありましたらお知らせ下さい。
よろしくお願いいたします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/01/14 02:34