47 lines
1.7 KiB
PHP
47 lines
1.7 KiB
PHP
<?php
|
|
|
|
require '../backend.php';
|
|
|
|
global $pgconn_gps, $readOnlyReplicaConn;
|
|
|
|
$gps_address_insert = <<< EOS
|
|
INSERT INTO address(id, address, latitude, longitude, location) VALUES ($1, $2, $3, $4, st_setsrid(st_point($4, $3),4326))
|
|
EOS;
|
|
|
|
$gps_db_host = $savvyext->cfgReadChar('gpsdatabase.host');
|
|
$gps_db_port = $savvyext->cfgReadLong('gpsdatabase.port');
|
|
$gps_db_name = $savvyext->cfgReadChar('gpsdatabase.name');
|
|
$gps_db_user = $savvyext->cfgReadChar('gpsdatabase.user');
|
|
$gps_db_pass = $savvyext->cfgReadChar('gpsdatabase.pass');
|
|
$conn_string_gps = "host=${gps_db_host} port=${gps_db_port} dbname=${gps_db_name} user=${gps_db_user} password=${gps_db_pass}";
|
|
$pgconn_gps = pg_connect($conn_string_gps);
|
|
|
|
$db_host = $savvyext->cfgReadChar('database_replica.host');
|
|
$db_name = $savvyext->cfgReadChar('database_replica.name');
|
|
$db_user = $savvyext->cfgReadChar('database_replica.user');
|
|
$db_pass = $savvyext->cfgReadChar('database_replica.pass');
|
|
$db_port = $savvyext->cfgReadLong('database_replica.port');
|
|
$readOnlyReplicaConnstr = "host=${db_host} port=${db_port} dbname=${db_name} user=${db_user} password=${db_pass}";
|
|
$readOnlyReplicaConn = pg_connect($readOnlyReplicaConnstr);
|
|
|
|
// Get max id from GPS DB
|
|
$q = "SELECT max(id) FROM address";
|
|
$r = pg_query($pgconn_gps, $q);
|
|
$id = 0;
|
|
if ($r && pg_num_rows($r) && $f=pg_fetch_row($r)) {
|
|
$id = (int)$f[0];
|
|
}
|
|
$q = "SELECT a.id, a.address, a.latitude, a.longitude FROM address as a WHERE a.id > ${id}";
|
|
$r = pg_query($readOnlyReplicaConn, $q);
|
|
while ($f=pg_fetch_assoc($r)) {
|
|
pg_query_params($pgconn_gps, $gps_address_insert, [
|
|
$f['id'],
|
|
$f['address'],
|
|
$f['latitude'],
|
|
$f['longitude']
|
|
]);
|
|
}
|
|
|
|
pg_close($readOnlyReplicaConn);
|
|
pg_close($pgconn_gps);
|