Remove relations from import tables

pull/78/head
Konstantin Gründger 2019-09-25 21:50:54 +02:00
rodzic 44e21ef348
commit 3d1e9908b3
3 zmienionych plików z 78 dodań i 104 usunięć

Wyświetl plik

@ -34,17 +34,6 @@ class AircraftBeacon(Beacon):
location_mgrs_short = db.Column(db.String(9)) # reduced mgrs (9 chars), e.g. used for melissas range tool
agl = db.Column(db.Float(precision=2))
# Relations
receiver_id = db.Column(db.Integer, db.ForeignKey("receivers.id", ondelete="SET NULL"))
receiver = db.relationship("Receiver", foreign_keys=[receiver_id], backref="aircraft_beacons")
device_id = db.Column(db.Integer, db.ForeignKey("devices.id", ondelete="SET NULL"))
device = db.relationship("Device", foreign_keys=[device_id], backref="aircraft_beacons")
# Multi-column indices
db.Index("ix_aircraft_beacons_receiver_id_distance", "receiver_id", "distance")
db.Index("ix_aircraft_beacons_device_id_timestamp", "device_id", "timestamp")
def __repr__(self):
return "<AircraftBeacon %s: %s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s>" % (
self.address_type,
@ -139,7 +128,3 @@ class AircraftBeacon(Beacon):
self.location_mgrs,
self.location_mgrs_short,
]
db.Index("ix_aircraft_beacons_date_device_id_address", func.date(AircraftBeacon.timestamp), AircraftBeacon.device_id, AircraftBeacon.address)
db.Index("ix_aircraft_beacons_date_receiver_id_distance", func.date(AircraftBeacon.timestamp), AircraftBeacon.receiver_id, AircraftBeacon.distance)

Wyświetl plik

@ -8,60 +8,12 @@ class ReceiverBeacon(Beacon):
__tablename__ = "receiver_beacons"
# disable irrelevant aprs fields
relay = None
track = None
ground_speed = None
# ReceiverBeacon specific data
version = db.Column(db.String)
platform = db.Column(db.String)
cpu_load = db.Column(db.Float(precision=2))
free_ram = db.Column(db.Float(precision=2))
total_ram = db.Column(db.Float(precision=2))
ntp_error = db.Column(db.Float(precision=2))
rt_crystal_correction = db.Column(db.Float(precision=2))
voltage = db.Column(db.Float(precision=2))
amperage = db.Column(db.Float(precision=2))
cpu_temp = db.Column(db.Float(precision=2))
senders_visible = db.Column(db.Integer)
senders_total = db.Column(db.Integer)
rec_input_noise = db.Column(db.Float(precision=2))
senders_signal = db.Column(db.Float(precision=2))
senders_messages = db.Column(db.Integer)
good_senders_signal = db.Column(db.Float(precision=2))
good_senders = db.Column(db.Integer)
good_and_bad_senders = db.Column(db.Integer)
# User comment: used for additional information like hardware configuration, web site, email address, ...
user_comment = None
# Relations
receiver_id = db.Column(db.Integer, db.ForeignKey("receivers.id", ondelete="SET NULL"))
receiver = db.relationship("Receiver", foreign_keys=[receiver_id], backref="receiver_beacons")
# Multi-column indices
db.Index("ix_receiver_beacons_receiver_id_name", "receiver_id", "name")
def __repr__(self):
return "<ReceiverBeacon %s: %s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s>" % (
self.version,
self.platform,
self.cpu_load,
self.free_ram,
self.total_ram,
self.ntp_error,
self.rt_crystal_correction,
self.voltage,
self.amperage,
self.cpu_temp,
self.senders_visible,
self.senders_total,
self.rec_input_noise,
self.senders_signal,
self.senders_messages,
self.good_senders_signal,
self.good_senders,
self.good_and_bad_senders,
)
return "<ReceiverBeacon {name}: {location},{altitude}{dstcall}{receiver_name}{timestamp}>".format(**self)
@classmethod
def get_columns(self):
@ -74,24 +26,6 @@ class ReceiverBeacon(Beacon):
"timestamp",
# 'raw_message',
# 'reference_timestamp',
"version",
"platform",
"cpu_load",
"free_ram",
"total_ram",
"ntp_error",
"rt_crystal_correction",
"voltage",
"amperage",
"cpu_temp",
"senders_visible",
"senders_total",
"rec_input_noise",
"senders_signal",
"senders_messages",
"good_senders_signal",
"good_senders",
"good_and_bad_senders",
]
def get_values(self):
@ -104,25 +38,4 @@ class ReceiverBeacon(Beacon):
self.timestamp,
# self.raw_message,
# self.reference_timestamp,
self.version,
self.platform,
self.cpu_load,
self.free_ram,
self.total_ram,
self.ntp_error,
self.rt_crystal_correction,
self.voltage,
self.amperage,
self.cpu_temp,
int(self.senders_visible) if self.senders_visible else None,
int(self.senders_total) if self.senders_visible else None,
self.rec_input_noise,
self.senders_signal,
int(self.senders_messages) if self.senders_messages else None,
self.good_senders_signal,
int(self.good_senders) if self.good_senders else None,
int(self.good_and_bad_senders) if self.good_and_bad_senders else None,
]
db.Index("ix_receiver_beacons_date_receiver_id", func.date(ReceiverBeacon.timestamp), ReceiverBeacon.receiver_id)

Wyświetl plik

@ -0,0 +1,76 @@
"""Remove non position fields from AircraftBeacon and ReceiverBeacon
Revision ID: 079fe885ae20
Revises: 6c19cedf5fa7
Create Date: 2019-09-25 21:42:34.924732
"""
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects import postgresql
# revision identifiers, used by Alembic.
revision = '079fe885ae20'
down_revision = '6c19cedf5fa7'
branch_labels = None
depends_on = None
def upgrade():
op.drop_constraint('aircraft_beacons_receiver_id_fkey', 'aircraft_beacons', type_='foreignkey')
op.drop_constraint('aircraft_beacons_device_id_fkey', 'aircraft_beacons', type_='foreignkey')
op.drop_column('aircraft_beacons', 'device_id')
op.drop_column('aircraft_beacons', 'receiver_id')
op.drop_constraint('receiver_beacons_receiver_id_fkey', 'receiver_beacons', type_='foreignkey')
op.drop_column('receiver_beacons', 'receiver_id')
op.drop_column('receiver_beacons', 'total_ram')
op.drop_column('receiver_beacons', 'senders_visible')
op.drop_column('receiver_beacons', 'senders_messages')
op.drop_column('receiver_beacons', 'cpu_temp')
op.drop_column('receiver_beacons', 'platform')
op.drop_column('receiver_beacons', 'rec_input_noise')
op.drop_column('receiver_beacons', 'ntp_error')
op.drop_column('receiver_beacons', 'good_senders')
op.drop_column('receiver_beacons', 'senders_total')
op.drop_column('receiver_beacons', 'cpu_load')
op.drop_column('receiver_beacons', 'free_ram')
op.drop_column('receiver_beacons', 'good_and_bad_senders')
op.drop_column('receiver_beacons', 'amperage')
op.drop_column('receiver_beacons', 'voltage')
op.drop_column('receiver_beacons', 'senders_signal')
op.drop_column('receiver_beacons', 'version')
op.drop_column('receiver_beacons', 'relay')
op.drop_column('receiver_beacons', 'rt_crystal_correction')
op.drop_column('receiver_beacons', 'good_senders_signal')
def downgrade():
op.add_column('receiver_beacons', sa.Column('receiver_id', sa.INTEGER(), autoincrement=False, nullable=True))
op.create_foreign_key('receiver_beacons_receiver_id_fkey', 'receiver_beacons', 'receivers', ['receiver_id'], ['id'], ondelete='SET NULL')
op.add_column('receiver_beacons', sa.Column('good_senders_signal', sa.REAL(), autoincrement=False, nullable=True))
op.add_column('receiver_beacons', sa.Column('rt_crystal_correction', sa.REAL(), autoincrement=False, nullable=True))
op.add_column('receiver_beacons', sa.Column('relay', sa.VARCHAR(), autoincrement=False, nullable=True))
op.add_column('receiver_beacons', sa.Column('version', sa.VARCHAR(), autoincrement=False, nullable=True))
op.add_column('receiver_beacons', sa.Column('senders_signal', sa.REAL(), autoincrement=False, nullable=True))
op.add_column('receiver_beacons', sa.Column('voltage', sa.REAL(), autoincrement=False, nullable=True))
op.add_column('receiver_beacons', sa.Column('amperage', sa.REAL(), autoincrement=False, nullable=True))
op.add_column('receiver_beacons', sa.Column('good_and_bad_senders', sa.INTEGER(), autoincrement=False, nullable=True))
op.add_column('receiver_beacons', sa.Column('free_ram', sa.REAL(), autoincrement=False, nullable=True))
op.add_column('receiver_beacons', sa.Column('cpu_load', sa.REAL(), autoincrement=False, nullable=True))
op.add_column('receiver_beacons', sa.Column('senders_total', sa.INTEGER(), autoincrement=False, nullable=True))
op.add_column('receiver_beacons', sa.Column('good_senders', sa.INTEGER(), autoincrement=False, nullable=True))
op.add_column('receiver_beacons', sa.Column('ntp_error', sa.REAL(), autoincrement=False, nullable=True))
op.add_column('receiver_beacons', sa.Column('rec_input_noise', sa.REAL(), autoincrement=False, nullable=True))
op.add_column('receiver_beacons', sa.Column('platform', sa.VARCHAR(), autoincrement=False, nullable=True))
op.add_column('receiver_beacons', sa.Column('cpu_temp', sa.REAL(), autoincrement=False, nullable=True))
op.add_column('receiver_beacons', sa.Column('senders_messages', sa.INTEGER(), autoincrement=False, nullable=True))
op.add_column('receiver_beacons', sa.Column('senders_visible', sa.INTEGER(), autoincrement=False, nullable=True))
op.add_column('receiver_beacons', sa.Column('total_ram', sa.REAL(), autoincrement=False, nullable=True))
op.add_column('aircraft_beacons', sa.Column('receiver_id', sa.INTEGER(), autoincrement=False, nullable=True))
op.add_column('aircraft_beacons', sa.Column('device_id', sa.INTEGER(), autoincrement=False, nullable=True))
op.create_foreign_key('aircraft_beacons_device_id_fkey', 'aircraft_beacons', 'devices', ['device_id'], ['id'], ondelete='SET NULL')
op.create_foreign_key('aircraft_beacons_receiver_id_fkey', 'aircraft_beacons', 'receivers', ['receiver_id'], ['id'], ondelete='SET NULL')