Skip to content

Commit bad47ae

Browse files
committed
handle uncompleted geo data in db
1 parent 6b5498b commit bad47ae

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

scripts/init-countries.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ async function main () {
7575

7676
try {
7777
const countryPromises = countries.data.map((country, index) => {
78-
const text = 'INSERT INTO country(id, country_id, name, code, region, subregion, lat, long) VALUES($1, $2, $3, $4, $5, $6, $7, $8)'
78+
const text = 'INSERT INTO country(id, country_id, name, code, region, subregion, lat, long) VALUES($1, $2, $3, $4, $5, $6, $7, $8) ON CONFLICT (id) DO UPDATE SET name = EXCLUDED.name, code = EXCLUDED.code, region = EXCLUDED.region, subregion = EXCLUDED.subregion, lat = EXCLUDED.lat, long = EXCLUDED.long'
7979
let code = country.cca2
8080
if (!code) {
8181
code = country.cca3
@@ -120,14 +120,13 @@ async function main () {
120120
countryCity = 'Unknown'
121121
}
122122

123-
const text = 'INSERT INTO city(id, city_id, country_id, name) VALUES($1, $2, $3, $4) RETURNING *'
124123
index++
125124

126125
return [index, index, foundCountryID, countryCity]
127126
})
128127
}).filter(g => g)
129128

130-
const inserts = format('INSERT INTO city(id, city_id, country_id, name) VALUES %L', flatten(mappedCities))
129+
const inserts = format('INSERT INTO city(id, city_id, country_id, name) VALUES %L ON CONFLICT (id) DO UPDATE SET country_id = EXCLUDED.country_id, name = EXCLUDED.name', flatten(mappedCities))
131130

132131
// console.log(inserts)
133132
client.query(inserts)
@@ -152,7 +151,7 @@ async function main () {
152151
}
153152

154153
async function getCountries () {
155-
return axios.get('https://raw.githubusercontent.com/threefoldtech/tfchain_graphql/master/scripts/countries.json')
154+
return axios.get('https://restcountries.com/v3/all')
156155
}
157156

158157
async function getCities () {

0 commit comments

Comments
 (0)