2022-01-11 14:36:49 +01:00
|
|
|
|
|
|
|
--
|
|
|
|
-- ----------------------
|
|
|
|
-- AliceLG schema v.1.0.0
|
|
|
|
-- ----------------------
|
|
|
|
--
|
|
|
|
-- %% Author: annika
|
2022-01-12 11:50:51 +01:00
|
|
|
-- %% Description: Apply alice-lg db schema.
|
2022-01-11 14:36:49 +01:00
|
|
|
--
|
|
|
|
|
2022-01-12 11:50:51 +01:00
|
|
|
-- Clear state
|
|
|
|
DROP TABLE IF EXISTS routes;
|
|
|
|
DROP TABLE IF EXISTS neighbors;
|
|
|
|
DROP TABLE IF EXISTS __meta__;
|
|
|
|
|
2022-01-11 14:36:49 +01:00
|
|
|
-- Neighbors
|
|
|
|
CREATE TABLE neighbors (
|
2022-01-12 18:26:42 +01:00
|
|
|
id VARCHAR(255) NOT NULL,
|
2022-01-11 14:36:49 +01:00
|
|
|
|
|
|
|
-- Indexed attributes
|
|
|
|
rs_id VARCHAR(255) NOT NULL,
|
|
|
|
|
|
|
|
-- JSON serialized neighbor
|
|
|
|
neighbor jsonb NOT NULL,
|
|
|
|
|
|
|
|
-- Timestamps
|
2022-01-12 18:26:42 +01:00
|
|
|
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
|
|
|
|
-- Constraints
|
|
|
|
PRIMARY KEY(id, rs_id)
|
2022-01-11 14:36:49 +01:00
|
|
|
);
|
|
|
|
|
|
|
|
CREATE INDEX idx_neighbors_rs_id
|
2022-01-13 15:59:57 +01:00
|
|
|
ON neighbors USING HASH (rs_id);
|
|
|
|
CREATE INDEX idx_neighbors_updated_at
|
|
|
|
ON neighbors ( updated_at );
|
2022-01-11 14:36:49 +01:00
|
|
|
|
|
|
|
-- Routes
|
|
|
|
CREATE TABLE routes (
|
2022-01-12 18:26:42 +01:00
|
|
|
id VARCHAR(255) NOT NULL,
|
|
|
|
rs_id VARCHAR(255) NOT NULL,
|
|
|
|
neighbor_id VARCHAR(255) NOT NULL,
|
2022-01-11 14:36:49 +01:00
|
|
|
|
|
|
|
-- Indexed attributes
|
2022-01-13 15:59:57 +01:00
|
|
|
network VARCHAR(50) NOT NULL,
|
2022-01-11 14:36:49 +01:00
|
|
|
|
|
|
|
-- JSON serialized route
|
|
|
|
route jsonb NOT NULL,
|
|
|
|
|
|
|
|
-- Timestamps
|
2022-01-12 18:26:42 +01:00
|
|
|
updated_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
|
|
|
|
-- Constraints
|
2022-01-13 16:59:19 +01:00
|
|
|
PRIMARY KEY(id, rs_id)
|
2022-01-11 14:36:49 +01:00
|
|
|
);
|
|
|
|
|
2022-01-13 15:59:57 +01:00
|
|
|
CREATE INDEX idx_routes_network ON routes ( network );
|
|
|
|
CREATE INDEX idx_neighbor_id ON routes ( neighbor_id );
|
|
|
|
CREATE INDEX idx_routes_updated_at ON routes ( updated_at );
|
2022-01-11 14:36:49 +01:00
|
|
|
|
|
|
|
-- The meta table stores information about the schema
|
|
|
|
-- like when it was migrated and the current revision.
|
|
|
|
CREATE TABLE __meta__ (
|
|
|
|
version INTEGER NOT NULL UNIQUE,
|
|
|
|
description TEXT NOT NULL,
|
|
|
|
applied_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
|
|
|
|
);
|
|
|
|
|
|
|
|
INSERT INTO __meta__ (version, description)
|
|
|
|
VALUES (1, 'initial schema');
|
|
|
|
|