|
|
@@ -0,0 +1,48 @@
|
|
|
+#!/usr/bin/perl
|
|
|
+
|
|
|
+#
|
|
|
+# Copyright (C) Roman Dmitiriev, rnd@rajven.ru
|
|
|
+#
|
|
|
+
|
|
|
+use FindBin '$Bin';
|
|
|
+use lib "$Bin/";
|
|
|
+use Data::Dumper;
|
|
|
+use Rstat::config;
|
|
|
+use Rstat::main;
|
|
|
+use Rstat::mysql;
|
|
|
+use Rstat::net_utils;
|
|
|
+use strict;
|
|
|
+use warnings;
|
|
|
+
|
|
|
+print "Stage 1: Devices\n";
|
|
|
+
|
|
|
+my @devices = get_records_sql($dbh,"SELECT * FROM devices");
|
|
|
+foreach my $row (@devices) {
|
|
|
+next if (!$row->{device_model});
|
|
|
+print "Dev: $row->{id} $row->{device_name} Model: $row->{device_model} =>";
|
|
|
+my $model = get_record_sql($dbh,"SELECT * FROM device_models WHERE vendor_id=".$row->{vendor_id}." AND model_name='".trim($row->{device_model})."'");
|
|
|
+if (!$model) { print "... unknown!\n"; next; }
|
|
|
+print "id: $model->{id} $model->{model_name}\n";
|
|
|
+do_sql($dbh,"UPDATE devices SET device_model_id=".$model->{id}." WHERE id=".$row->{id});
|
|
|
+}
|
|
|
+print "Done!\n";
|
|
|
+
|
|
|
+print "Stage 2: Auth\n";
|
|
|
+
|
|
|
+@devices = get_records_sql($dbh,"SELECT * FROM User_auth WHERE host_model IS NOT NULL");
|
|
|
+foreach my $row (@devices) {
|
|
|
+next if (!$row->{host_model});
|
|
|
+print "Auth: $row->{id} $row->{ip} Model: $row->{host_model} =>";
|
|
|
+my $model = get_record_sql($dbh,"SELECT * FROM device_models WHERE model_name='".trim($row->{host_model})."'");
|
|
|
+if (!$model) { print "... unknown!\n"; next; }
|
|
|
+print "id: $model->{id} $model->{model_name}\n";
|
|
|
+do_sql($dbh,"UPDATE User_auth SET device_model_id=".$model->{id}." WHERE id=".$row->{id});
|
|
|
+}
|
|
|
+print "Done!\n";
|
|
|
+
|
|
|
+do_sql($dbh,"ALTER TABLE `User_auth` DROP `host_model`");
|
|
|
+do_sql($dbh,"ALTER TABLE `devices` DROP `device_model`");
|
|
|
+
|
|
|
+print "Done!\n";
|
|
|
+
|
|
|
+exit;
|