Files
FloatBackOfffice/CRONS/gps_singapore_buildings_sync.php
T
dev-chiefworks f76abffdcd first commit
2022-05-31 16:21:53 -04:00

49 lines
1.7 KiB
PHP

<?php
require '../backend.php';
global $readOnlyReplicaConn, $pgconn_gps;
$gps_singapore_buildings_insert = <<< EOS
INSERT INTO singapore_buildings(id, address, latitude, longitude, location) VALUES ($1, $2, $3, $4, st_setsrid(st_point($4, $3),4326))
EOS;
//PostgreSQL
$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 singapore_buildings";
$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 singapore_buildings as a WHERE a.id > ${id}";
$r = pg_query($readOnlyReplicaConn, $q);
while ($f=pg_fetch_assoc($r)) {
pg_query_params($pgconn_gps, $gps_singapore_buildings_insert, [
$f['id'],
$f['address'],
$f['latitude'],
$f['longitude']
]);
}
pg_close($readOnlyReplicaConn);
pg_close($pgconn_gps);