From 02730c0573f5078d8c1a25c34118363655f876fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20Gru=CC=88ndger?= Date: Mon, 17 Oct 2016 21:24:55 +0200 Subject: [PATCH] Changed model for 0.2.5 protocol --- .../5717cf8e17c_update_protocol_to_v0_2_5.py | 48 +++++++++++++++++++ ogn/model/aircraft_beacon.py | 4 +- ogn/model/receiver_beacon.py | 15 ++++-- 3 files changed, 61 insertions(+), 6 deletions(-) create mode 100644 alembic/versions/5717cf8e17c_update_protocol_to_v0_2_5.py diff --git a/alembic/versions/5717cf8e17c_update_protocol_to_v0_2_5.py b/alembic/versions/5717cf8e17c_update_protocol_to_v0_2_5.py new file mode 100644 index 0000000..d9d156b --- /dev/null +++ b/alembic/versions/5717cf8e17c_update_protocol_to_v0_2_5.py @@ -0,0 +1,48 @@ +"""update protocol to v0.2.5 + +Revision ID: 5717cf8e17c +Revises: 4ebfb325db6 +Create Date: 2016-10-17 19:16:38.632097 + +""" + +# revision identifiers, used by Alembic. +revision = '5717cf8e17c' +down_revision = '4ebfb325db6' +branch_labels = None +depends_on = None + +from alembic import op +import sqlalchemy as sa + + +def upgrade(): + op.alter_column('aircraft_beacon', 'signal_strength', new_column_name='signal_quality') + op.add_column('aircraft_beacon', sa.Column('signal_power', sa.Float)) + + op.add_column('receiver_beacon', sa.Column('senders_visible', sa.Integer)) + op.add_column('receiver_beacon', sa.Column('senders_total', sa.Integer)) + op.add_column('receiver_beacon', sa.Column('senders_signal', sa.Float)) + op.add_column('receiver_beacon', sa.Column('senders_messages', sa.Integer)) + op.add_column('receiver_beacon', sa.Column('good_senders_signal', sa.Float)) + op.add_column('receiver_beacon', sa.Column('good_senders', sa.Integer)) + op.add_column('receiver_beacon', sa.Column('good_and_bad_senders', sa.Integer)) + + op.add_column('receiver_beacon', sa.Column('voltage', sa.Float)) + op.add_column('receiver_beacon', sa.Column('amperage', sa.Float)) + + +def downgrade(): + op.alter_column('aircraft_beacon', 'signal_quality', new_column_name='signal_strength') + op.drop_column('aircraft_beacon', 'signal_power') + + op.drop_column('receiver_beacon', 'senders_visible') + op.drop_column('receiver_beacon', 'senders_total') + op.drop_column('receiver_beacon', 'senders_signal') + op.drop_column('receiver_beacon', 'senders_messages') + op.drop_column('receiver_beacon', 'good_senders_signal') + op.drop_column('receiver_beacon', 'good_senders') + op.drop_column('receiver_beacon', 'good_and_bad_senders') + + op.drop_column('receiver_beacon', 'voltage') + op.drop_column('receiver_beacon', 'amperage') diff --git a/ogn/model/aircraft_beacon.py b/ogn/model/aircraft_beacon.py index 4796ee3..c3740b1 100644 --- a/ogn/model/aircraft_beacon.py +++ b/ogn/model/aircraft_beacon.py @@ -14,7 +14,7 @@ class AircraftBeacon(Beacon): address = Column(String(6)) climb_rate = Column(Float) turn_rate = Column(Float) - signal_strength = Column(Float) + signal_quality = Column(Float) error_count = Column(Integer) frequency_offset = Column(Float) gps_status = Column(String) @@ -25,6 +25,8 @@ class AircraftBeacon(Beacon): flightlevel = Column(Float) + signal_power = Column(Float) + # Relations receiver_id = Column(Integer, ForeignKey('receiver.id', ondelete='SET NULL'), index=True) receiver = relationship('Receiver', foreign_keys=[receiver_id]) diff --git a/ogn/model/receiver_beacon.py b/ogn/model/receiver_beacon.py index 5f757cd..10592e3 100644 --- a/ogn/model/receiver_beacon.py +++ b/ogn/model/receiver_beacon.py @@ -21,11 +21,16 @@ class ReceiverBeacon(Beacon): rec_crystal_correction_fine = 0 # obsolete since 0.2.0 rec_input_noise = Column(Float) - snr_total_average = None - snr_total_fixes = None - snr_filtered_average_daily = None - snr_devices_daily_selection = None - snr_devices_daily = None + senders_visible = Column(Integer) + senders_total = Column(Integer) + senders_signal = Column(Float) + senders_messages = Column(Integer) + good_senders_signal = Column(Float) + good_senders = Column(Integer) + good_and_bad_senders = Column(Integer) + + voltage = Column(Float) + amperage = Column(Float) # Relations receiver_id = Column(Integer, ForeignKey('receiver.id', ondelete='SET NULL'), index=True)