diff --git a/backend/src/api/database-migration.ts b/backend/src/api/database-migration.ts index dbc7ce925..0d4a04016 100644 --- a/backend/src/api/database-migration.ts +++ b/backend/src/api/database-migration.ts @@ -4,7 +4,7 @@ import logger from '../logger'; import { Common } from './common'; class DatabaseMigration { - private static currentVersion = 29; + private static currentVersion = 30; private queryTimeout = 120000; private statisticsAddedIndexed = false; private uniqueLogs: string[] = []; @@ -291,6 +291,10 @@ class DatabaseMigration { await this.$executeQuery('ALTER TABLE `nodes` ADD latitude double NULL DEFAULT NULL'); } + if (databaseSchemaVersion < 30 && isBitcoin === true) { + await this.$executeQuery('ALTER TABLE `geo_names` CHANGE `type` `type` enum("city","country","division","continent","as_organization") NOT NULL'); + } + } catch (e) { throw e; } diff --git a/backend/src/tasks/lightning/sync-tasks/node-locations.ts b/backend/src/tasks/lightning/sync-tasks/node-locations.ts index e32dd8bad..444bd6557 100644 --- a/backend/src/tasks/lightning/sync-tasks/node-locations.ts +++ b/backend/src/tasks/lightning/sync-tasks/node-locations.ts @@ -52,6 +52,13 @@ export async function $lookupNodeLocation(): Promise { `INSERT IGNORE INTO geo_names (id, type, names) VALUES (?, 'city', ?)`, [city.city?.geoname_id, JSON.stringify(city.city?.names)]); } + + // Store AS name + if (asn.autonomous_system_organization) { + await DB.query( + `INSERT IGNORE INTO geo_names (id, type, names) VALUES (?, 'as_organization', ?)`, + [asn.autonomous_system_number, JSON.stringify(asn.autonomous_system_organization)]); + } } } }