Files
map/prisma/schema.prisma

216 lines
4.7 KiB
Plaintext

// This is your Prisma schema file,
// learn more about it in the docs: https://pris.ly/d/prisma-schema
// Looking for ways to speed up your queries, or scale easily with your serverless or edge functions?
// Try Prisma Accelerate: https://pris.ly/cli/accelerate-init
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
}
model Node {
id BigInt @id @default(autoincrement())
node_id BigInt @unique
long_name String
short_name String
hardware_model Int
role Int
is_licensed Boolean?
firmware_version String?
region Int?
modem_preset Int?
has_default_channel Boolean?
position_precision Int?
num_online_local_nodes Int?
latitude Int?
longitude Int?
altitude Int?
position_updated_at DateTime?
battery_level Int?
voltage Decimal?
channel_utilization Decimal?
air_util_tx Decimal?
neighbour_broadcast_interval_secs Int?
neighbours Json?
neighbours_updated_at DateTime?
mqtt_connection_state String?
mqtt_connection_state_updated_at DateTime?
created_at DateTime @default(now())
updated_at DateTime @default(now()) @updatedAt
@@index(created_at)
@@index(updated_at)
@@index(node_id)
@@map("nodes")
}
model MapReport {
id BigInt @id @default(autoincrement())
node_id BigInt
long_name String
short_name String
role Int
hardware_model Int
firmware_version String
region Int?
modem_preset Int?
has_default_channel Boolean?
latitude Int?
longitude Int?
altitude Int?
position_precision Int?
num_online_local_nodes Int?
created_at DateTime @default(now())
updated_at DateTime @default(now()) @updatedAt
@@index(created_at)
@@index(updated_at)
@@index(node_id)
@@map("map_reports")
}
model NeighbourInfo {
id BigInt @id @default(autoincrement())
node_id BigInt
node_broadcast_interval_secs Int
neighbours Json
created_at DateTime @default(now())
updated_at DateTime @default(now()) @updatedAt
@@index(created_at)
@@index(updated_at)
@@index(node_id)
@@map("neighbour_infos")
}
model DeviceMetric {
id BigInt @id @default(autoincrement())
node_id BigInt
battery_level Int?
voltage Decimal?
channel_utilization Decimal?
air_util_tx Decimal?
created_at DateTime @default(now())
updated_at DateTime @default(now()) @updatedAt
@@index(created_at)
@@index(updated_at)
@@index(node_id)
@@map("device_metrics")
}
model ServiceEnvelope {
id BigInt @id @default(autoincrement())
mqtt_topic String
channel_id String
gateway_id BigInt?
to BigInt
from BigInt
protobuf Bytes
created_at DateTime @default(now())
updated_at DateTime @default(now()) @updatedAt
@@index(created_at)
@@index(updated_at)
@@index(gateway_id)
@@map("service_envelopes")
}
model TextMessage {
id BigInt @id @default(autoincrement())
to BigInt
from BigInt
channel Int
packet_id BigInt
channel_id String
gateway_id BigInt?
text String
rx_time BigInt?
rx_snr Decimal?
rx_rssi Int?
hop_limit Int?
created_at DateTime @default(now())
updated_at DateTime @default(now()) @updatedAt
@@index(created_at)
@@index(updated_at)
@@index(to)
@@index(from)
@@index(packet_id)
@@index(gateway_id)
@@map("text_messages")
}
model TraceRoute {
id BigInt @id @default(autoincrement())
to BigInt
from BigInt
want_response Boolean
route Json
channel Int?
packet_id BigInt?
channel_id String?
gateway_id BigInt?
created_at DateTime @default(now())
updated_at DateTime @default(now()) @updatedAt
@@index(created_at)
@@index(updated_at)
@@index(to)
@@index(from)
@@map("traceroutes")
}
model Waypoint {
id BigInt @id @default(autoincrement())
from BigInt
to BigInt
waypoint_id BigInt
latitude Int
longitude Int
expire BigInt?
locked_to BigInt?
name String?
description String?
icon Int?
channel Int
packet_id BigInt
channel_id String
gateway_id BigInt?
created_at DateTime @default(now())
updated_at DateTime @default(now()) @updatedAt
@@index(created_at)
@@index(updated_at)
@@index(to)
@@index(from)
@@index(waypoint_id)
@@index(packet_id)
@@index(gateway_id)
@@map("waypoints")
}