Files
nym/nym-api/migrations/20211018120000_core_nodes_testing.sql
T
Dave Hrycyszyn f6a79ce7c3 Renaming validator-api to nym-api (#1863)
* Renaming validator-api to nym-api

* nym-api: simplified crate name

* Added nym-api rename to changelog

* Changed some output messages

* Renamed validator-api-requests to nym-api requests

* Removing more references to validator-api-requests

* Additional lockfile name changes after full build

* Removing mistakenly added merge files

* ibid

* ibid

* Getting rid of ref to validator_api deep inside validator-client

* Fixing file storage paths

* Renaming struct function names referring to validator_api

* Simplifying struct init

* Fixed up all other instances of nym_api.

* Renaming validatorApi to nymApi in TypeScript client for consistency

v

* Found a few more Rust instances

* Changed examples in TypeScript SDK

* Found one more instance of the use of validator instead of nym apis

* Aliasing config key name for deserialization to preserve compatibility with old configs
2022-12-14 15:05:01 +00:00

101 lines
3.4 KiB
SQL

/*
* Copyright 2021 - Nym Technologies SA <contact@nymtech.net>
* SPDX-License-Identifier: Apache-2.0
*/
ALTER TABLE mixnode_historical_uptime
RENAME TO _mixnode_historical_uptime_old;
CREATE TABLE mixnode_historical_uptime
(
mixnode_details_id INTEGER NOT NULL,
date VARCHAR NOT NULL,
uptime INTEGER NOT NULL,
FOREIGN KEY (mixnode_details_id)
REFERENCES mixnode_details (id)
);
INSERT INTO mixnode_historical_uptime (mixnode_details_id, date, uptime)
SELECT mixnode_details_id, date, (ipv4_uptime + ipv6_uptime) / 2 as uptime
from _mixnode_historical_uptime_old;
DROP TABLE _mixnode_historical_uptime_old;
ALTER TABLE gateway_historical_uptime
RENAME TO _gateway_historical_uptime_old;
CREATE TABLE gateway_historical_uptime
(
gateway_details_id INTEGER NOT NULL,
date VARCHAR NOT NULL,
uptime INTEGER NOT NULL,
FOREIGN KEY (gateway_details_id)
REFERENCES gateway_details (id)
);
INSERT INTO gateway_historical_uptime (gateway_details_id, date, uptime)
SELECT gateway_details_id, date, (ipv4_uptime + ipv6_uptime) / 2 as uptime
from _gateway_historical_uptime_old;
DROP TABLE _gateway_historical_uptime_old;
CREATE TABLE mixnode_status
(
mixnode_details_id INTEGER NOT NULL,
reliability INTEGER NOT NULL,
timestamp INTEGER NOT NULL,
FOREIGN KEY (mixnode_details_id) REFERENCES mixnode_details (id)
);
INSERT INTO mixnode_status (mixnode_details_id, timestamp, reliability)
SELECT mixnode_ipv4_status.mixnode_details_id,
mixnode_ipv4_status.timestamp,
(mixnode_ipv4_status.up * 100 + mixnode_ipv6_status.up * 100) / 2 as reliability
FROM mixnode_ipv4_status
JOIN mixnode_ipv6_status ON mixnode_ipv4_status.mixnode_details_id = mixnode_ipv6_status.mixnode_details_id AND
mixnode_ipv4_status.timestamp = mixnode_ipv6_status.timestamp;
DROP TABLE mixnode_ipv4_status;
DROP TABLE mixnode_ipv6_status;
CREATE TABLE gateway_status
(
gateway_details_id INTEGER NOT NULL,
reliability INTEGER NOT NULL,
timestamp INTEGER NOT NULL,
FOREIGN KEY (gateway_details_id) REFERENCES gateway_details (id)
);
INSERT INTO gateway_status (gateway_details_id, timestamp, reliability)
SELECT gateway_ipv4_status.gateway_details_id,
gateway_ipv4_status.timestamp,
(gateway_ipv4_status.up * 100 + gateway_ipv6_status.up * 100) / 2 as reliability
FROM gateway_ipv4_status
JOIN gateway_ipv6_status ON gateway_ipv4_status.gateway_details_id = gateway_ipv6_status.gateway_details_id AND
gateway_ipv4_status.timestamp = gateway_ipv6_status.timestamp;
DROP TABLE gateway_ipv4_status;
DROP TABLE gateway_ipv6_status;
CREATE INDEX `mixnode_status_index` ON `mixnode_status` (`mixnode_details_id`, `timestamp` desc);
CREATE INDEX `gateway_status_index` ON `gateway_status` (`gateway_details_id`, `timestamp` desc);
CREATE TABLE testing_route (
gateway_id INTEGER NOT NULL,
layer1_mix_id INTEGER NOT NULL,
layer2_mix_id INTEGER NOT NULL,
layer3_mix_id INTEGER NOT NULL,
monitor_run_id INTEGER NOT NULL,
FOREIGN KEY (layer1_mix_id) REFERENCES mixnode_details (id),
FOREIGN KEY (layer2_mix_id) REFERENCES mixnode_details (id),
FOREIGN KEY (layer3_mix_id) REFERENCES mixnode_details (id),
FOREIGN KEY (gateway_id) REFERENCES gateway_details (id),
FOREIGN KEY (monitor_run_id) references monitor_run (id)
);