diff --git a/LibreNMS/DB/Eloquent.php b/LibreNMS/DB/Eloquent.php index bed38ae21a..e4e9b9e221 100644 --- a/LibreNMS/DB/Eloquent.php +++ b/LibreNMS/DB/Eloquent.php @@ -77,7 +77,7 @@ class Eloquent */ public static function setStrictMode($strict = true) { - if (self::isConnected()) { + if (self::isConnected() && self::getDriver() == 'mysql') { if ($strict) { self::DB()->getPdo()->exec("SET sql_mode='ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'"); } else { @@ -118,4 +118,10 @@ class Eloquent return self::$capsule->getDatabaseManager()->connection(); } + + public static function getDriver() + { + $connection = config('database.default'); + return config("database.connections.{$connection}.driver"); + } } diff --git a/config/database.php b/config/database.php index 3a3faad5cc..a40df3b9f7 100644 --- a/config/database.php +++ b/config/database.php @@ -46,13 +46,13 @@ return [ 'connections' => [ -// 'sqlite' => [ -// 'driver' => 'sqlite', -// 'url' => env('DATABASE_URL'), -// 'database' => env('DB_DATABASE', database_path('database.sqlite')), -// 'prefix' => '', -// 'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true), -// ], + 'sqlite' => [ + 'driver' => 'sqlite', + 'url' => env('DATABASE_URL'), + 'database' => env('DB_DATABASE', storage_path('librenms.sqlite')), + 'prefix' => '', + 'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true), + ], 'mysql' => [ 'driver' => 'mysql', @@ -117,10 +117,18 @@ return [ 'prefix_indexes' => true, ], - 'memory' => [ + 'testing_memory' => [ 'driver' => 'sqlite', 'database' => ':memory:', 'prefix' => '', + 'foreign_key_constraints' => true, + ], + + 'testing_persistent' => [ + 'driver' => 'sqlite', + 'database' => storage_path('testing.sqlite'), + 'prefix' => '', + 'foreign_key_constraints' => true, ] ], diff --git a/database/migrations/2018_07_03_091314_create_access_points_table.php b/database/migrations/2018_07_03_091314_create_access_points_table.php index ac211031d2..636d7e83ba 100644 --- a/database/migrations/2018_07_03_091314_create_access_points_table.php +++ b/database/migrations/2018_07_03_091314_create_access_points_table.php @@ -20,7 +20,7 @@ class CreateAccessPointsTable extends Migration $table->tinyInteger('radio_number')->nullable(); $table->string('type', 16); $table->string('mac_addr', 24); - $table->boolean('deleted')->default(0)->index('deleted'); + $table->boolean('deleted')->default(0)->index(); $table->tinyInteger('channel')->unsigned()->default(0); $table->tinyInteger('txpow')->default(0); $table->tinyInteger('radioutil')->default(0); diff --git a/database/migrations/2018_07_03_091314_create_alert_device_map_table.php b/database/migrations/2018_07_03_091314_create_alert_device_map_table.php index b9e6c70e79..d9e6a24a8f 100644 --- a/database/migrations/2018_07_03_091314_create_alert_device_map_table.php +++ b/database/migrations/2018_07_03_091314_create_alert_device_map_table.php @@ -17,7 +17,7 @@ class CreateAlertDeviceMapTable extends Migration $table->increments('id'); $table->unsignedInteger('rule_id'); $table->unsignedInteger('device_id'); - $table->unique(['rule_id','device_id'], 'alert_device_map_rule_id_device_id_uindex'); + $table->unique(['rule_id','device_id']); }); } diff --git a/database/migrations/2018_07_03_091314_create_alert_group_map_table.php b/database/migrations/2018_07_03_091314_create_alert_group_map_table.php index a6b0fdf90c..20bba3ccb8 100644 --- a/database/migrations/2018_07_03_091314_create_alert_group_map_table.php +++ b/database/migrations/2018_07_03_091314_create_alert_group_map_table.php @@ -17,7 +17,7 @@ class CreateAlertGroupMapTable extends Migration $table->increments('id'); $table->unsignedInteger('rule_id'); $table->unsignedInteger('group_id'); - $table->unique(['rule_id','group_id'], 'alert_group_map_rule_id_group_id_uindex'); + $table->unique(['rule_id','group_id']); }); } diff --git a/database/migrations/2018_07_03_091314_create_alert_log_table.php b/database/migrations/2018_07_03_091314_create_alert_log_table.php index 37994cdbd2..498df1034d 100644 --- a/database/migrations/2018_07_03_091314_create_alert_log_table.php +++ b/database/migrations/2018_07_03_091314_create_alert_log_table.php @@ -15,14 +15,16 @@ class CreateAlertLogTable extends Migration { Schema::create('alert_log', function (Blueprint $table) { $table->increments('id'); - $table->unsignedInteger('rule_id')->index('rule_id'); - $table->unsignedInteger('device_id')->index('device_id'); + $table->unsignedInteger('rule_id')->index(); + $table->unsignedInteger('device_id')->index(); $table->integer('state'); $table->binary('details')->nullable(); - $table->timestamp('time_logged')->default(DB::raw('CURRENT_TIMESTAMP'))->index('time_logged'); + $table->timestamp('time_logged')->useCurrent()->index(); }); - \DB::statement("ALTER TABLE `alert_log` CHANGE `details` `details` longblob NULL ;"); + if (\LibreNMS\DB\Eloquent::getDriver() == 'mysql') { + \DB::statement("ALTER TABLE `alert_log` CHANGE `details` `details` longblob NULL ;"); + } } /** diff --git a/database/migrations/2018_07_03_091314_create_alert_rules_table.php b/database/migrations/2018_07_03_091314_create_alert_rules_table.php index fbccf855d3..9cc4bc9905 100644 --- a/database/migrations/2018_07_03_091314_create_alert_rules_table.php +++ b/database/migrations/2018_07_03_091314_create_alert_rules_table.php @@ -15,13 +15,13 @@ class CreateAlertRulesTable extends Migration { Schema::create('alert_rules', function (Blueprint $table) { $table->increments('id'); - $table->text('rule', 65535); + $table->text('rule'); $table->enum('severity', array('ok','warning','critical')); $table->string('extra'); $table->boolean('disabled'); - $table->string('name')->unique('name'); - $table->text('query', 65535); - $table->text('builder', 65535); + $table->string('name')->unique(); + $table->text('query'); + $table->text('builder'); $table->string('proc', 80)->nullable(); }); } diff --git a/database/migrations/2018_07_03_091314_create_alert_schedulables_table.php b/database/migrations/2018_07_03_091314_create_alert_schedulables_table.php index 0d040fb029..01a935544e 100644 --- a/database/migrations/2018_07_03_091314_create_alert_schedulables_table.php +++ b/database/migrations/2018_07_03_091314_create_alert_schedulables_table.php @@ -15,7 +15,7 @@ class CreateAlertSchedulablesTable extends Migration { Schema::create('alert_schedulables', function (Blueprint $table) { $table->increments('item_id'); - $table->unsignedInteger('schedule_id')->index('schedule_id'); + $table->unsignedInteger('schedule_id')->index(); $table->unsignedInteger('alert_schedulable_id'); $table->string('alert_schedulable_type'); $table->index(['alert_schedulable_type', 'alert_schedulable_id'], 'schedulable_morph_index'); diff --git a/database/migrations/2018_07_03_091314_create_alert_schedule_table.php b/database/migrations/2018_07_03_091314_create_alert_schedule_table.php index a4b87220d3..ce27430d60 100644 --- a/database/migrations/2018_07_03_091314_create_alert_schedule_table.php +++ b/database/migrations/2018_07_03_091314_create_alert_schedule_table.php @@ -24,7 +24,7 @@ class CreateAlertScheduleTable extends Migration $table->time('end_recurring_hr')->default('00:00:00'); $table->string('recurring_day', 15)->nullable(); $table->string('title'); - $table->text('notes', 65535); + $table->text('notes'); }); } diff --git a/database/migrations/2018_07_03_091314_create_alerts_table.php b/database/migrations/2018_07_03_091314_create_alerts_table.php index 78cc8a8c80..668e1dceea 100644 --- a/database/migrations/2018_07_03_091314_create_alerts_table.php +++ b/database/migrations/2018_07_03_091314_create_alerts_table.php @@ -15,15 +15,15 @@ class CreateAlertsTable extends Migration { Schema::create('alerts', function (Blueprint $table) { $table->increments('id'); - $table->unsignedInteger('device_id')->index('device_id'); - $table->unsignedInteger('rule_id')->index('rule_id'); + $table->unsignedInteger('device_id')->index(); + $table->unsignedInteger('rule_id')->index(); $table->integer('state'); $table->integer('alerted'); $table->integer('open'); $table->text('note')->nullable(); - $table->timestamp('timestamp')->default(DB::raw('CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP')); + $table->timestamp('timestamp')->useCurrent(); $table->text('info'); - $table->unique(['device_id','rule_id'], 'unique_alert'); + $table->unique(['device_id','rule_id']); }); } diff --git a/database/migrations/2018_07_03_091314_create_api_tokens_table.php b/database/migrations/2018_07_03_091314_create_api_tokens_table.php index 4f56f3a386..201875e79e 100644 --- a/database/migrations/2018_07_03_091314_create_api_tokens_table.php +++ b/database/migrations/2018_07_03_091314_create_api_tokens_table.php @@ -16,7 +16,7 @@ class CreateApiTokensTable extends Migration Schema::create('api_tokens', function (Blueprint $table) { $table->increments('id'); $table->unsignedInteger('user_id'); - $table->string('token_hash')->nullable()->unique('token_hash'); + $table->string('token_hash')->nullable()->unique(); $table->string('description', 100); $table->boolean('disabled')->default(0); }); diff --git a/database/migrations/2018_07_03_091314_create_application_metrics_table.php b/database/migrations/2018_07_03_091314_create_application_metrics_table.php index f9d1d2d89c..2b9779a423 100644 --- a/database/migrations/2018_07_03_091314_create_application_metrics_table.php +++ b/database/migrations/2018_07_03_091314_create_application_metrics_table.php @@ -18,7 +18,7 @@ class CreateApplicationMetricsTable extends Migration $table->string('metric', 32); $table->double('value')->nullable(); $table->double('value_prev')->nullable(); - $table->unique(['app_id','metric'], 'application_metrics_app_id_metric_uindex'); + $table->unique(['app_id','metric']); }); } diff --git a/database/migrations/2018_07_03_091314_create_applications_table.php b/database/migrations/2018_07_03_091314_create_applications_table.php index 3df4c1ac3c..665dd0b235 100644 --- a/database/migrations/2018_07_03_091314_create_applications_table.php +++ b/database/migrations/2018_07_03_091314_create_applications_table.php @@ -21,9 +21,13 @@ class CreateApplicationsTable extends Migration $table->tinyInteger('discovered')->default(0); $table->string('app_state_prev', 32)->nullable(); $table->string('app_status', 8); - $table->timestamp('timestamp')->default(DB::raw('CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP')); + if (\LibreNMS\DB\Eloquent::getDriver() == 'mysql') { + $table->timestamp('timestamp')->default(DB::raw('CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP')); + } else { + $table->timestamp('timestamp')->useCurrent(); + } $table->string('app_instance'); - $table->unique(['device_id','app_type'], 'unique_index'); + $table->unique(['device_id','app_type']); }); } diff --git a/database/migrations/2018_07_03_091314_create_authlog_table.php b/database/migrations/2018_07_03_091314_create_authlog_table.php index fa7d5f9dd2..d1dd3a70c9 100644 --- a/database/migrations/2018_07_03_091314_create_authlog_table.php +++ b/database/migrations/2018_07_03_091314_create_authlog_table.php @@ -15,10 +15,10 @@ class CreateAuthlogTable extends Migration { Schema::create('authlog', function (Blueprint $table) { $table->increments('id'); - $table->timestamp('datetime')->default(DB::raw('CURRENT_TIMESTAMP')); - $table->text('user', 65535); - $table->text('address', 65535); - $table->text('result', 65535); + $table->timestamp('datetime')->useCurrent(); + $table->text('user'); + $table->text('address'); + $table->text('result'); }); } diff --git a/database/migrations/2018_07_03_091314_create_bgpPeers_cbgp_table.php b/database/migrations/2018_07_03_091314_create_bgpPeers_cbgp_table.php index d91c225a85..5859a82572 100644 --- a/database/migrations/2018_07_03_091314_create_bgpPeers_cbgp_table.php +++ b/database/migrations/2018_07_03_091314_create_bgpPeers_cbgp_table.php @@ -37,8 +37,8 @@ class CreateBgpPeersCbgpTable extends Migration $table->integer('WithdrawnPrefixes_delta'); $table->integer('WithdrawnPrefixes_prev'); $table->string('context_name', 128)->nullable(); - $table->unique(['device_id','bgpPeerIdentifier','afi','safi'], 'unique_index'); - $table->index(['device_id','bgpPeerIdentifier','context_name'], 'device_id'); + $table->unique(['device_id','bgpPeerIdentifier','afi','safi']); + $table->index(['device_id','bgpPeerIdentifier','context_name']); }); } diff --git a/database/migrations/2018_07_03_091314_create_bgpPeers_table.php b/database/migrations/2018_07_03_091314_create_bgpPeers_table.php index 49874574d3..df58625d0c 100644 --- a/database/migrations/2018_07_03_091314_create_bgpPeers_table.php +++ b/database/migrations/2018_07_03_091314_create_bgpPeers_table.php @@ -17,12 +17,12 @@ class CreateBgpPeersTable extends Migration $table->increments('bgpPeer_id'); $table->unsignedInteger('device_id'); $table->string('astext'); - $table->text('bgpPeerIdentifier', 65535); + $table->text('bgpPeerIdentifier'); $table->bigInteger('bgpPeerRemoteAs'); - $table->text('bgpPeerState', 65535); - $table->text('bgpPeerAdminStatus', 65535); - $table->text('bgpLocalAddr', 65535); - $table->text('bgpPeerRemoteAddr', 65535); + $table->text('bgpPeerState'); + $table->text('bgpPeerAdminStatus'); + $table->text('bgpLocalAddr'); + $table->text('bgpPeerRemoteAddr'); $table->string('bgpPeerDescr')->default(''); $table->integer('bgpPeerInUpdates'); $table->integer('bgpPeerOutUpdates'); @@ -31,7 +31,7 @@ class CreateBgpPeersTable extends Migration $table->integer('bgpPeerFsmEstablishedTime'); $table->integer('bgpPeerInUpdateElapsedTime'); $table->string('context_name', 128)->nullable(); - $table->index(['device_id','context_name'], 'device_id'); + $table->index(['device_id','context_name']); }); } diff --git a/database/migrations/2018_07_03_091314_create_bill_data_table.php b/database/migrations/2018_07_03_091314_create_bill_data_table.php index 4afc2d075a..a57762053a 100644 --- a/database/migrations/2018_07_03_091314_create_bill_data_table.php +++ b/database/migrations/2018_07_03_091314_create_bill_data_table.php @@ -14,7 +14,7 @@ class CreateBillDataTable extends Migration public function up() { Schema::create('bill_data', function (Blueprint $table) { - $table->unsignedInteger('bill_id')->index('bill_id'); + $table->unsignedInteger('bill_id')->index(); $table->dateTime('timestamp'); $table->integer('period'); $table->bigInteger('delta'); diff --git a/database/migrations/2018_07_03_091314_create_bill_history_table.php b/database/migrations/2018_07_03_091314_create_bill_history_table.php index f76b29fb02..518b417f5b 100644 --- a/database/migrations/2018_07_03_091314_create_bill_history_table.php +++ b/database/migrations/2018_07_03_091314_create_bill_history_table.php @@ -15,8 +15,8 @@ class CreateBillHistoryTable extends Migration { Schema::create('bill_history', function (Blueprint $table) { $table->increments('bill_hist_id'); - $table->unsignedInteger('bill_id')->index('bill_id'); - $table->timestamp('updated')->default(DB::raw('CURRENT_TIMESTAMP')); + $table->unsignedInteger('bill_id')->index(); + $table->timestamp('updated')->useCurrent(); $table->dateTime('bill_datefrom'); $table->dateTime('bill_dateto'); $table->text('bill_type'); @@ -35,10 +35,12 @@ class CreateBillHistoryTable extends Migration $table->bigInteger('traf_out'); $table->bigInteger('traf_total'); $table->binary('pdf')->nullable(); - $table->unique(['bill_id','bill_datefrom','bill_dateto'], 'unique_index'); + $table->unique(['bill_id','bill_datefrom','bill_dateto']); }); - \DB::statement("ALTER TABLE `bill_history` CHANGE `pdf` `pdf` longblob NULL ;"); + if (\LibreNMS\DB\Eloquent::getDriver() == 'mysql') { + \DB::statement("ALTER TABLE `bill_history` CHANGE `pdf` `pdf` longblob NULL ;"); + } } /** diff --git a/database/migrations/2018_07_03_091314_create_bill_port_counters_table.php b/database/migrations/2018_07_03_091314_create_bill_port_counters_table.php index ca4b5407de..c19c23bf3f 100644 --- a/database/migrations/2018_07_03_091314_create_bill_port_counters_table.php +++ b/database/migrations/2018_07_03_091314_create_bill_port_counters_table.php @@ -15,7 +15,7 @@ class CreateBillPortCountersTable extends Migration { Schema::create('bill_port_counters', function (Blueprint $table) { $table->unsignedInteger('port_id'); - $table->timestamp('timestamp')->default(DB::raw('CURRENT_TIMESTAMP')); + $table->timestamp('timestamp')->useCurrent(); $table->bigInteger('in_counter')->nullable(); $table->bigInteger('in_delta')->default(0); $table->bigInteger('out_counter')->nullable(); diff --git a/database/migrations/2018_07_03_091314_create_bills_table.php b/database/migrations/2018_07_03_091314_create_bills_table.php index 99029dff7d..39b2b4c862 100644 --- a/database/migrations/2018_07_03_091314_create_bills_table.php +++ b/database/migrations/2018_07_03_091314_create_bills_table.php @@ -15,8 +15,8 @@ class CreateBillsTable extends Migration { Schema::create('bills', function (Blueprint $table) { $table->increments('bill_id'); - $table->text('bill_name', 65535); - $table->text('bill_type', 65535); + $table->text('bill_name'); + $table->text('bill_type'); $table->bigInteger('bill_cdr')->nullable(); $table->integer('bill_day')->default(1); $table->bigInteger('bill_quota')->nullable(); diff --git a/database/migrations/2018_07_03_091314_create_cef_switching_table.php b/database/migrations/2018_07_03_091314_create_cef_switching_table.php index dfb92be8fc..114257f4d0 100644 --- a/database/migrations/2018_07_03_091314_create_cef_switching_table.php +++ b/database/migrations/2018_07_03_091314_create_cef_switching_table.php @@ -28,7 +28,7 @@ class CreateCefSwitchingTable extends Migration $table->integer('punt2host_prev'); $table->unsignedInteger('updated'); $table->unsignedInteger('updated_prev'); - $table->unique(['device_id','entPhysicalIndex','afi','cef_index'], 'device_id'); + $table->unique(['device_id','entPhysicalIndex','afi','cef_index']); }); } diff --git a/database/migrations/2018_07_03_091314_create_ciscoASA_table.php b/database/migrations/2018_07_03_091314_create_ciscoASA_table.php index e84802f92c..9d3f818e8c 100644 --- a/database/migrations/2018_07_03_091314_create_ciscoASA_table.php +++ b/database/migrations/2018_07_03_091314_create_ciscoASA_table.php @@ -15,7 +15,7 @@ class CreateCiscoASATable extends Migration { Schema::create('ciscoASA', function (Blueprint $table) { $table->increments('ciscoASA_id'); - $table->unsignedInteger('device_id')->index('device_id'); + $table->unsignedInteger('device_id')->index(); $table->string('oid'); $table->bigInteger('data'); $table->bigInteger('high_alert'); diff --git a/database/migrations/2018_07_03_091314_create_component_prefs_table.php b/database/migrations/2018_07_03_091314_create_component_prefs_table.php index afce0fde09..bb7c35b534 100644 --- a/database/migrations/2018_07_03_091314_create_component_prefs_table.php +++ b/database/migrations/2018_07_03_091314_create_component_prefs_table.php @@ -15,7 +15,7 @@ class CreateComponentPrefsTable extends Migration { Schema::create('component_prefs', function (Blueprint $table) { $table->increments('id')->comment('ID for each entry'); - $table->unsignedInteger('component')->index('component')->comment('id from the component table'); + $table->unsignedInteger('component')->index()->comment('id from the component table'); $table->string('attribute')->comment('Attribute for the Component'); $table->text('value')->comment('Value for the Component'); }); diff --git a/database/migrations/2018_07_03_091314_create_component_statuslog_table.php b/database/migrations/2018_07_03_091314_create_component_statuslog_table.php index 37dfb0e636..e4f1b5dff2 100644 --- a/database/migrations/2018_07_03_091314_create_component_statuslog_table.php +++ b/database/migrations/2018_07_03_091314_create_component_statuslog_table.php @@ -15,10 +15,10 @@ class CreateComponentStatuslogTable extends Migration { Schema::create('component_statuslog', function (Blueprint $table) { $table->increments('id')->comment('ID for each log entry, unique index'); - $table->unsignedInteger('component_id')->index('device')->comment('id from the component table'); + $table->unsignedInteger('component_id')->index()->comment('id from the component table'); $table->boolean('status')->default(0)->comment('The status that the component was changed TO'); $table->text('message')->nullable(); - $table->timestamp('timestamp')->default(DB::raw('CURRENT_TIMESTAMP'))->comment('When the status of the component was changed'); + $table->timestamp('timestamp')->useCurrent()->comment('When the status of the component was changed'); }); } diff --git a/database/migrations/2018_07_03_091314_create_component_table.php b/database/migrations/2018_07_03_091314_create_component_table.php index 106d7d0b38..34f417379c 100644 --- a/database/migrations/2018_07_03_091314_create_component_table.php +++ b/database/migrations/2018_07_03_091314_create_component_table.php @@ -15,8 +15,8 @@ class CreateComponentTable extends Migration { Schema::create('component', function (Blueprint $table) { $table->increments('id')->comment('ID for each component, unique index'); - $table->unsignedInteger('device_id')->index('device')->comment('device_id from the devices table'); - $table->string('type', 50)->index('type')->comment('name from the component_type table'); + $table->unsignedInteger('device_id')->index()->comment('device_id from the devices table'); + $table->string('type', 50)->index()->comment('name from the component_type table'); $table->string('label')->nullable()->comment('Display label for the component'); $table->boolean('status')->default(0)->comment('The status of the component, retreived from the device'); $table->boolean('disabled')->default(0)->comment('Should this component be polled'); diff --git a/database/migrations/2018_07_03_091314_create_config_table.php b/database/migrations/2018_07_03_091314_create_config_table.php index adfec5cc2d..9cad99b588 100644 --- a/database/migrations/2018_07_03_091314_create_config_table.php +++ b/database/migrations/2018_07_03_091314_create_config_table.php @@ -15,7 +15,7 @@ class CreateConfigTable extends Migration { Schema::create('config', function (Blueprint $table) { $table->increments('config_id'); - $table->string('config_name')->unique('uniqueindex_configname'); + $table->string('config_name')->unique(); $table->string('config_value', 512); $table->string('config_default', 512); $table->string('config_descr', 100); diff --git a/database/migrations/2018_07_03_091314_create_customers_table.php b/database/migrations/2018_07_03_091314_create_customers_table.php index 737d33a24c..88aef11a4f 100644 --- a/database/migrations/2018_07_03_091314_create_customers_table.php +++ b/database/migrations/2018_07_03_091314_create_customers_table.php @@ -15,7 +15,7 @@ class CreateCustomersTable extends Migration { Schema::create('customers', function (Blueprint $table) { $table->increments('customer_id'); - $table->char('username', 64)->unique('username'); + $table->char('username', 64)->unique(); $table->char('password', 32); $table->char('string', 64); $table->tinyInteger('level')->default(0); diff --git a/database/migrations/2018_07_03_091314_create_device_graphs_table.php b/database/migrations/2018_07_03_091314_create_device_graphs_table.php index 3aa42f25f6..1a0827a82d 100644 --- a/database/migrations/2018_07_03_091314_create_device_graphs_table.php +++ b/database/migrations/2018_07_03_091314_create_device_graphs_table.php @@ -14,7 +14,8 @@ class CreateDeviceGraphsTable extends Migration public function up() { Schema::create('device_graphs', function (Blueprint $table) { - $table->unsignedInteger('device_id')->index('device_id'); + $table->bigIncrements('id'); + $table->unsignedInteger('device_id')->index(); $table->string('graph')->nullable(); }); } diff --git a/database/migrations/2018_07_03_091314_create_device_groups_table.php b/database/migrations/2018_07_03_091314_create_device_groups_table.php index a63b6c6f3f..3a23f39d79 100644 --- a/database/migrations/2018_07_03_091314_create_device_groups_table.php +++ b/database/migrations/2018_07_03_091314_create_device_groups_table.php @@ -15,7 +15,7 @@ class CreateDeviceGroupsTable extends Migration { Schema::create('device_groups', function (Blueprint $table) { $table->increments('id'); - $table->string('name')->default('')->unique('name'); + $table->string('name')->default('')->unique(); $table->string('desc')->default(''); $table->text('pattern')->nullable(); $table->text('params')->nullable(); diff --git a/database/migrations/2018_07_03_091314_create_device_mibs_table.php b/database/migrations/2018_07_03_091314_create_device_mibs_table.php index 01b038555f..eb81380615 100644 --- a/database/migrations/2018_07_03_091314_create_device_mibs_table.php +++ b/database/migrations/2018_07_03_091314_create_device_mibs_table.php @@ -18,7 +18,11 @@ class CreateDeviceMibsTable extends Migration $table->string('module'); $table->string('mib'); $table->string('included_by'); - $table->timestamp('last_modified')->default(DB::raw('CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP')); + if (\LibreNMS\DB\Eloquent::getDriver() == 'mysql') { + $table->timestamp('last_modified')->default(DB::raw('CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP')); + } else { + $table->timestamp('last_modified')->useCurrent(); + } $table->primary(['device_id','module','mib']); }); } diff --git a/database/migrations/2018_07_03_091314_create_device_oids_table.php b/database/migrations/2018_07_03_091314_create_device_oids_table.php index 7d1a7dc91e..eef3e60879 100644 --- a/database/migrations/2018_07_03_091314_create_device_oids_table.php +++ b/database/migrations/2018_07_03_091314_create_device_oids_table.php @@ -21,7 +21,11 @@ class CreateDeviceOidsTable extends Migration $table->string('object_type'); $table->string('value')->nullable(); $table->bigInteger('numvalue')->nullable(); - $table->timestamp('last_modified')->default(DB::raw('CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP')); + if (\LibreNMS\DB\Eloquent::getDriver() == 'mysql') { + $table->timestamp('last_modified')->default(DB::raw('CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP')); + } else { + $table->timestamp('last_modified')->useCurrent(); + } $table->primary(['device_id','oid']); }); } diff --git a/database/migrations/2018_07_03_091314_create_device_perf_table.php b/database/migrations/2018_07_03_091314_create_device_perf_table.php index 9125e99a01..bfcb7778ce 100644 --- a/database/migrations/2018_07_03_091314_create_device_perf_table.php +++ b/database/migrations/2018_07_03_091314_create_device_perf_table.php @@ -15,7 +15,7 @@ class CreateDevicePerfTable extends Migration { Schema::create('device_perf', function (Blueprint $table) { $table->increments('id'); - $table->unsignedInteger('device_id')->index('device_id'); + $table->unsignedInteger('device_id')->index(); $table->dateTime('timestamp'); $table->integer('xmt'); $table->integer('rcv'); diff --git a/database/migrations/2018_07_03_091314_create_device_relationships_table.php b/database/migrations/2018_07_03_091314_create_device_relationships_table.php index dd2044aa45..a93ac59e53 100644 --- a/database/migrations/2018_07_03_091314_create_device_relationships_table.php +++ b/database/migrations/2018_07_03_091314_create_device_relationships_table.php @@ -15,7 +15,7 @@ class CreateDeviceRelationshipsTable extends Migration { Schema::create('device_relationships', function (Blueprint $table) { $table->unsignedInteger('parent_device_id')->default(0); - $table->unsignedInteger('child_device_id')->index('device_relationship_child_device_id_fk'); + $table->unsignedInteger('child_device_id')->index(); $table->primary(['parent_device_id','child_device_id']); }); } diff --git a/database/migrations/2018_07_03_091314_create_devices_attribs_table.php b/database/migrations/2018_07_03_091314_create_devices_attribs_table.php index 6080196561..248289d929 100644 --- a/database/migrations/2018_07_03_091314_create_devices_attribs_table.php +++ b/database/migrations/2018_07_03_091314_create_devices_attribs_table.php @@ -15,10 +15,14 @@ class CreateDevicesAttribsTable extends Migration { Schema::create('devices_attribs', function (Blueprint $table) { $table->increments('attrib_id'); - $table->unsignedInteger('device_id')->index('device_id'); + $table->unsignedInteger('device_id')->index(); $table->string('attrib_type', 32); - $table->text('attrib_value', 65535); - $table->timestamp('updated')->default(DB::raw('CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP')); + $table->text('attrib_value'); + if (\LibreNMS\DB\Eloquent::getDriver() == 'mysql') { + $table->timestamp('updated')->default(DB::raw('CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP')); + } else { + $table->timestamp('updated')->useCurrent(); + } }); } diff --git a/database/migrations/2018_07_03_091314_create_devices_perms_table.php b/database/migrations/2018_07_03_091314_create_devices_perms_table.php index 4a7d6c03f2..ef340bf6fc 100644 --- a/database/migrations/2018_07_03_091314_create_devices_perms_table.php +++ b/database/migrations/2018_07_03_091314_create_devices_perms_table.php @@ -14,7 +14,7 @@ class CreateDevicesPermsTable extends Migration public function up() { Schema::create('devices_perms', function (Blueprint $table) { - $table->unsignedInteger('user_id')->index('user_id'); + $table->unsignedInteger('user_id')->index(); $table->unsignedInteger('device_id'); }); } diff --git a/database/migrations/2018_07_03_091314_create_devices_table.php b/database/migrations/2018_07_03_091314_create_devices_table.php index f1c6439654..d972b0bc29 100644 --- a/database/migrations/2018_07_03_091314_create_devices_table.php +++ b/database/migrations/2018_07_03_091314_create_devices_table.php @@ -15,8 +15,8 @@ class CreateDevicesTable extends Migration { Schema::create('devices', function (Blueprint $table) { $table->increments('device_id'); - $table->string('hostname', 128)->index('hostname'); - $table->string('sysName', 128)->nullable()->index('sysName'); + $table->string('hostname', 128)->index(); + $table->string('sysName', 128)->nullable()->index(); $table->binary('ip')->nullable(); $table->string('community')->nullable(); $table->enum('authlevel', array('noAuthNoPriv','authNoPriv','authPriv'))->nullable(); @@ -39,32 +39,34 @@ class CreateDevicesTable extends Migration $table->text('hardware')->nullable(); $table->text('features')->nullable(); $table->unsignedInteger('location_id')->nullable(); - $table->string('os', 32)->nullable()->index('os'); - $table->boolean('status')->default(0)->index('status'); + $table->string('os', 32)->nullable()->index(); + $table->boolean('status')->default(0)->index(); $table->string('status_reason', 50); $table->boolean('ignore')->default(0); $table->boolean('disabled')->default(0); $table->bigInteger('uptime')->nullable(); $table->unsignedInteger('agent_uptime')->default(0); - $table->timestamp('last_polled')->nullable()->index('last_polled'); - $table->timestamp('last_poll_attempted')->nullable()->index('last_poll_attempted'); + $table->timestamp('last_polled')->nullable()->index(); + $table->timestamp('last_poll_attempted')->nullable()->index(); $table->float('last_polled_timetaken', 5)->nullable(); $table->float('last_discovered_timetaken', 5)->nullable(); $table->timestamp('last_discovered')->nullable(); $table->timestamp('last_ping')->nullable(); $table->float('last_ping_timetaken')->nullable(); - $table->text('purpose', 65535)->nullable(); + $table->text('purpose')->nullable(); $table->string('type', 20)->default(''); - $table->text('serial', 65535)->nullable(); + $table->text('serial')->nullable(); $table->string('icon')->nullable(); $table->integer('poller_group')->default(0); $table->boolean('override_sysLocation')->nullable()->default(0); - $table->text('notes', 65535)->nullable(); + $table->text('notes')->nullable(); $table->integer('port_association_mode')->default(1); $table->integer('max_depth')->default(0); }); - \DB::statement("ALTER TABLE `devices` CHANGE `ip` `ip` varbinary(16) NULL ;"); + if (\LibreNMS\DB\Eloquent::getDriver() == 'mysql') { + \DB::statement("ALTER TABLE `devices` CHANGE `ip` `ip` varbinary(16) NULL ;"); + } } /** diff --git a/database/migrations/2018_07_03_091314_create_entPhysical_table.php b/database/migrations/2018_07_03_091314_create_entPhysical_table.php index ddf2399766..9afaa57e13 100644 --- a/database/migrations/2018_07_03_091314_create_entPhysical_table.php +++ b/database/migrations/2018_07_03_091314_create_entPhysical_table.php @@ -15,23 +15,23 @@ class CreateEntPhysicalTable extends Migration { Schema::create('entPhysical', function (Blueprint $table) { $table->increments('entPhysical_id'); - $table->unsignedInteger('device_id')->index('device_id'); + $table->unsignedInteger('device_id')->index(); $table->integer('entPhysicalIndex'); - $table->text('entPhysicalDescr', 65535); - $table->text('entPhysicalClass', 65535); - $table->text('entPhysicalName', 65535); + $table->text('entPhysicalDescr'); + $table->text('entPhysicalClass'); + $table->text('entPhysicalName'); $table->string('entPhysicalHardwareRev', 64)->nullable(); $table->string('entPhysicalFirmwareRev', 64)->nullable(); $table->string('entPhysicalSoftwareRev', 64)->nullable(); $table->string('entPhysicalAlias', 32)->nullable(); $table->string('entPhysicalAssetID', 32)->nullable(); $table->string('entPhysicalIsFRU', 8)->nullable(); - $table->text('entPhysicalModelName', 65535); - $table->text('entPhysicalVendorType', 65535)->nullable(); - $table->text('entPhysicalSerialNum', 65535); + $table->text('entPhysicalModelName'); + $table->text('entPhysicalVendorType')->nullable(); + $table->text('entPhysicalSerialNum'); $table->integer('entPhysicalContainedIn'); $table->integer('entPhysicalParentRelPos'); - $table->text('entPhysicalMfgName', 65535); + $table->text('entPhysicalMfgName'); $table->integer('ifIndex')->nullable(); }); } diff --git a/database/migrations/2018_07_03_091314_create_entityState_table.php b/database/migrations/2018_07_03_091314_create_entityState_table.php index df58924dc2..8c0fb63afd 100644 --- a/database/migrations/2018_07_03_091314_create_entityState_table.php +++ b/database/migrations/2018_07_03_091314_create_entityState_table.php @@ -15,7 +15,7 @@ class CreateEntityStateTable extends Migration { Schema::create('entityState', function (Blueprint $table) { $table->increments('entity_state_id'); - $table->unsignedInteger('device_id')->nullable(); + $table->unsignedInteger('device_id')->nullable()->index(); $table->unsignedInteger('entPhysical_id')->nullable(); $table->dateTime('entStateLastChanged')->nullable(); $table->integer('entStateAdmin')->nullable(); @@ -23,7 +23,6 @@ class CreateEntityStateTable extends Migration $table->integer('entStateUsage')->nullable(); $table->text('entStateAlarm')->nullable(); $table->integer('entStateStandby')->nullable(); - $table->index('device_id', 'entityState_device_id_index'); }); } diff --git a/database/migrations/2018_07_03_091314_create_eventlog_table.php b/database/migrations/2018_07_03_091314_create_eventlog_table.php index c368f874d3..d3dc0954d6 100644 --- a/database/migrations/2018_07_03_091314_create_eventlog_table.php +++ b/database/migrations/2018_07_03_091314_create_eventlog_table.php @@ -15,8 +15,8 @@ class CreateEventlogTable extends Migration { Schema::create('eventlog', function (Blueprint $table) { $table->increments('event_id'); - $table->unsignedInteger('device_id')->nullable()->index('device_id'); - $table->dateTime('datetime')->default('1970-01-02 00:00:01')->index('datetime'); + $table->unsignedInteger('device_id')->nullable()->index(); + $table->dateTime('datetime')->default('1970-01-02 00:00:01')->index(); $table->text('message')->nullable(); $table->string('type', 64)->nullable(); $table->string('reference', 64)->nullable(); diff --git a/database/migrations/2018_07_03_091314_create_graph_types_table.php b/database/migrations/2018_07_03_091314_create_graph_types_table.php index f6ec9bdbf6..3c6ee88f37 100644 --- a/database/migrations/2018_07_03_091314_create_graph_types_table.php +++ b/database/migrations/2018_07_03_091314_create_graph_types_table.php @@ -14,9 +14,9 @@ class CreateGraphTypesTable extends Migration public function up() { Schema::create('graph_types', function (Blueprint $table) { - $table->string('graph_type', 32)->index('graph_type'); - $table->string('graph_subtype', 64)->index('graph_subtype'); - $table->string('graph_section', 32)->index('graph_section'); + $table->string('graph_type', 32)->index(); + $table->string('graph_subtype', 64)->index(); + $table->string('graph_section', 32)->index(); $table->string('graph_descr')->nullable(); $table->integer('graph_order'); $table->primary(['graph_type','graph_subtype','graph_section']); diff --git a/database/migrations/2018_07_03_091314_create_hrDevice_table.php b/database/migrations/2018_07_03_091314_create_hrDevice_table.php index 170053f797..b0e47ba918 100644 --- a/database/migrations/2018_07_03_091314_create_hrDevice_table.php +++ b/database/migrations/2018_07_03_091314_create_hrDevice_table.php @@ -15,7 +15,7 @@ class CreateHrDeviceTable extends Migration { Schema::create('hrDevice', function (Blueprint $table) { $table->increments('hrDevice_id'); - $table->unsignedInteger('device_id')->index('device_id'); + $table->unsignedInteger('device_id')->index(); $table->integer('hrDeviceIndex'); $table->text('hrDeviceDescr'); $table->text('hrDeviceType'); diff --git a/database/migrations/2018_07_03_091314_create_ipsec_tunnels_table.php b/database/migrations/2018_07_03_091314_create_ipsec_tunnels_table.php index e42a5d690e..013da4f917 100644 --- a/database/migrations/2018_07_03_091314_create_ipsec_tunnels_table.php +++ b/database/migrations/2018_07_03_091314_create_ipsec_tunnels_table.php @@ -22,7 +22,7 @@ class CreateIpsecTunnelsTable extends Migration $table->unsignedInteger('local_port'); $table->string('tunnel_name', 96); $table->string('tunnel_status', 11); - $table->unique(['device_id','peer_addr'], 'unique_index'); + $table->unique(['device_id','peer_addr']); }); } diff --git a/database/migrations/2018_07_03_091314_create_ipv4_addresses_table.php b/database/migrations/2018_07_03_091314_create_ipv4_addresses_table.php index 8182cf9b30..a6e2605dd7 100644 --- a/database/migrations/2018_07_03_091314_create_ipv4_addresses_table.php +++ b/database/migrations/2018_07_03_091314_create_ipv4_addresses_table.php @@ -18,7 +18,7 @@ class CreateIpv4AddressesTable extends Migration $table->string('ipv4_address', 32); $table->integer('ipv4_prefixlen'); $table->string('ipv4_network_id', 32); - $table->unsignedInteger('port_id')->index('interface_id'); + $table->unsignedInteger('port_id')->index(); $table->string('context_name', 128)->nullable(); }); } diff --git a/database/migrations/2018_07_03_091314_create_ipv4_mac_table.php b/database/migrations/2018_07_03_091314_create_ipv4_mac_table.php index c4c79a50cc..c483069a30 100644 --- a/database/migrations/2018_07_03_091314_create_ipv4_mac_table.php +++ b/database/migrations/2018_07_03_091314_create_ipv4_mac_table.php @@ -14,9 +14,9 @@ class CreateIpv4MacTable extends Migration public function up() { Schema::create('ipv4_mac', function (Blueprint $table) { - $table->unsignedInteger('port_id')->index('port_id'); + $table->unsignedInteger('port_id')->index(); $table->unsignedInteger('device_id')->nullable(); - $table->string('mac_address', 32)->index('mac_address'); + $table->string('mac_address', 32)->index(); $table->string('ipv4_address', 32); $table->string('context_name', 128); }); diff --git a/database/migrations/2018_07_03_091314_create_ipv6_addresses_table.php b/database/migrations/2018_07_03_091314_create_ipv6_addresses_table.php index 74ab0c15f3..716b0cffc7 100644 --- a/database/migrations/2018_07_03_091314_create_ipv6_addresses_table.php +++ b/database/migrations/2018_07_03_091314_create_ipv6_addresses_table.php @@ -20,7 +20,7 @@ class CreateIpv6AddressesTable extends Migration $table->integer('ipv6_prefixlen'); $table->string('ipv6_origin', 16); $table->string('ipv6_network_id', 128); - $table->unsignedInteger('port_id')->index('interface_id'); + $table->unsignedInteger('port_id')->index(); $table->string('context_name', 128)->nullable(); }); } diff --git a/database/migrations/2018_07_03_091314_create_juniAtmVp_table.php b/database/migrations/2018_07_03_091314_create_juniAtmVp_table.php index ca553af60b..00f6a00a73 100644 --- a/database/migrations/2018_07_03_091314_create_juniAtmVp_table.php +++ b/database/migrations/2018_07_03_091314_create_juniAtmVp_table.php @@ -15,7 +15,7 @@ class CreateJuniAtmVpTable extends Migration { Schema::create('juniAtmVp', function (Blueprint $table) { $table->unsignedInteger('juniAtmVp_id'); - $table->unsignedInteger('port_id')->index('port_id'); + $table->unsignedInteger('port_id')->index(); $table->unsignedInteger('vp_id'); $table->string('vp_descr', 32); }); diff --git a/database/migrations/2018_07_03_091314_create_links_table.php b/database/migrations/2018_07_03_091314_create_links_table.php index 2cda72cf60..0b378d38e9 100644 --- a/database/migrations/2018_07_03_091314_create_links_table.php +++ b/database/migrations/2018_07_03_091314_create_links_table.php @@ -15,9 +15,9 @@ class CreateLinksTable extends Migration { Schema::create('links', function (Blueprint $table) { $table->increments('id'); - $table->unsignedInteger('local_port_id')->nullable()->index('src_if'); + $table->unsignedInteger('local_port_id')->nullable()->index(); $table->unsignedInteger('local_device_id'); - $table->unsignedInteger('remote_port_id')->nullable()->index('dst_if'); + $table->unsignedInteger('remote_port_id')->nullable()->index(); $table->boolean('active')->default(1); $table->string('protocol', 11)->nullable(); $table->string('remote_hostname', 128); diff --git a/database/migrations/2018_07_03_091314_create_loadbalancer_vservers_table.php b/database/migrations/2018_07_03_091314_create_loadbalancer_vservers_table.php index e75cb7247d..8b55d599f7 100644 --- a/database/migrations/2018_07_03_091314_create_loadbalancer_vservers_table.php +++ b/database/migrations/2018_07_03_091314_create_loadbalancer_vservers_table.php @@ -17,7 +17,7 @@ class CreateLoadbalancerVserversTable extends Migration $table->unsignedInteger('classmap_id'); $table->string('classmap', 128); $table->string('serverstate', 64); - $table->unsignedInteger('device_id')->index('device_id'); + $table->unsignedInteger('device_id')->index(); }); } diff --git a/database/migrations/2018_07_03_091314_create_locations_table.php b/database/migrations/2018_07_03_091314_create_locations_table.php index 0ad0def580..ebbe1b6560 100644 --- a/database/migrations/2018_07_03_091314_create_locations_table.php +++ b/database/migrations/2018_07_03_091314_create_locations_table.php @@ -15,7 +15,7 @@ class CreateLocationsTable extends Migration { Schema::create('locations', function (Blueprint $table) { $table->increments('id'); - $table->string('location')->unique('locations_location_uindex'); + $table->string('location')->unique(); $table->float('lat', 10, 6)->nullable(); $table->float('lng', 10, 6)->nullable(); $table->dateTime('timestamp'); diff --git a/database/migrations/2018_07_03_091314_create_mac_accounting_table.php b/database/migrations/2018_07_03_091314_create_mac_accounting_table.php index d428f898ff..ce951ce63e 100644 --- a/database/migrations/2018_07_03_091314_create_mac_accounting_table.php +++ b/database/migrations/2018_07_03_091314_create_mac_accounting_table.php @@ -15,7 +15,7 @@ class CreateMacAccountingTable extends Migration { Schema::create('mac_accounting', function (Blueprint $table) { $table->increments('ma_id'); - $table->unsignedInteger('port_id')->index('interface_id_2'); + $table->unsignedInteger('port_id')->index(); $table->string('mac', 32); $table->string('in_oid', 128); $table->string('out_oid', 128); @@ -40,7 +40,6 @@ class CreateMacAccountingTable extends Migration $table->unsignedInteger('poll_time')->nullable(); $table->unsignedInteger('poll_prev')->nullable(); $table->unsignedInteger('poll_period')->nullable(); - $table->index('port_id', 'interface_id'); }); } diff --git a/database/migrations/2018_07_03_091314_create_mefinfo_table.php b/database/migrations/2018_07_03_091314_create_mefinfo_table.php index d0bbe685a7..9c62f52311 100644 --- a/database/migrations/2018_07_03_091314_create_mefinfo_table.php +++ b/database/migrations/2018_07_03_091314_create_mefinfo_table.php @@ -15,8 +15,8 @@ class CreateMefinfoTable extends Migration { Schema::create('mefinfo', function (Blueprint $table) { $table->increments('id'); - $table->unsignedInteger('device_id')->index('device_id'); - $table->integer('mefID')->index('mefID'); + $table->unsignedInteger('device_id')->index(); + $table->integer('mefID')->index(); $table->string('mefType', 128); $table->string('mefIdent', 128); $table->integer('mefMTU')->default(1500); diff --git a/database/migrations/2018_07_03_091314_create_mempools_table.php b/database/migrations/2018_07_03_091314_create_mempools_table.php index 1c6d44c6fb..61ca8619b6 100644 --- a/database/migrations/2018_07_03_091314_create_mempools_table.php +++ b/database/migrations/2018_07_03_091314_create_mempools_table.php @@ -21,7 +21,7 @@ class CreateMempoolsTable extends Migration $table->string('mempool_type', 32); $table->integer('mempool_precision')->default(1); $table->string('mempool_descr', 64); - $table->unsignedInteger('device_id')->index('device_id'); + $table->unsignedInteger('device_id')->index(); $table->integer('mempool_perc'); $table->bigInteger('mempool_used'); $table->bigInteger('mempool_free'); diff --git a/database/migrations/2018_07_03_091314_create_mibdefs_table.php b/database/migrations/2018_07_03_091314_create_mibdefs_table.php index c80ce667a9..a4d052bfc3 100644 --- a/database/migrations/2018_07_03_091314_create_mibdefs_table.php +++ b/database/migrations/2018_07_03_091314_create_mibdefs_table.php @@ -23,7 +23,11 @@ class CreateMibdefsTable extends Migration $table->string('max_access')->nullable(); $table->string('status')->nullable(); $table->string('included_by'); - $table->timestamp('last_modified')->default(DB::raw('CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP')); + if (\LibreNMS\DB\Eloquent::getDriver() == 'mysql') { + $table->timestamp('last_modified')->default(DB::raw('CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP')); + } else { + $table->timestamp('last_modified')->useCurrent(); + } $table->primary(['module','mib','object_type']); }); } diff --git a/database/migrations/2018_07_03_091314_create_munin_plugins_ds_table.php b/database/migrations/2018_07_03_091314_create_munin_plugins_ds_table.php index 97b1496a97..c93b701dad 100644 --- a/database/migrations/2018_07_03_091314_create_munin_plugins_ds_table.php +++ b/database/migrations/2018_07_03_091314_create_munin_plugins_ds_table.php @@ -22,17 +22,17 @@ class CreateMuninPluginsDsTable extends Migration $table->string('ds_draw', 64); $table->enum('ds_graph', array('no','yes'))->default('yes'); $table->string('ds_info'); - $table->text('ds_extinfo', 65535); + $table->text('ds_extinfo'); $table->string('ds_max', 32); $table->string('ds_min', 32); $table->string('ds_negative', 32); $table->string('ds_warning', 32); $table->string('ds_critical', 32); $table->string('ds_colour', 32); - $table->text('ds_sum', 65535); - $table->text('ds_stack', 65535); + $table->text('ds_sum'); + $table->text('ds_stack'); $table->string('ds_line', 64); - $table->unique(['mplug_id','ds_name'], 'splug_id'); + $table->unique(['mplug_id','ds_name']); }); } diff --git a/database/migrations/2018_07_03_091314_create_munin_plugins_table.php b/database/migrations/2018_07_03_091314_create_munin_plugins_table.php index 3cdd6f64f1..aa6d82769d 100644 --- a/database/migrations/2018_07_03_091314_create_munin_plugins_table.php +++ b/database/migrations/2018_07_03_091314_create_munin_plugins_table.php @@ -15,7 +15,7 @@ class CreateMuninPluginsTable extends Migration { Schema::create('munin_plugins', function (Blueprint $table) { $table->increments('mplug_id'); - $table->unsignedInteger('device_id')->index('device_id'); + $table->unsignedInteger('device_id')->index(); $table->string('mplug_type'); $table->string('mplug_instance', 128)->nullable(); $table->string('mplug_category', 32)->nullable(); @@ -25,7 +25,7 @@ class CreateMuninPluginsTable extends Migration $table->string('mplug_args', 512)->nullable(); $table->boolean('mplug_total')->default(0); $table->boolean('mplug_graph')->default(1); - $table->unique(['device_id','mplug_type'], 'UNIQUE'); + $table->unique(['device_id','mplug_type']); }); } diff --git a/database/migrations/2018_07_03_091314_create_notifications_table.php b/database/migrations/2018_07_03_091314_create_notifications_table.php index c0be5ffffa..fa50ca35a8 100644 --- a/database/migrations/2018_07_03_091314_create_notifications_table.php +++ b/database/migrations/2018_07_03_091314_create_notifications_table.php @@ -16,10 +16,10 @@ class CreateNotificationsTable extends Migration Schema::create('notifications', function (Blueprint $table) { $table->increments('notifications_id'); $table->string('title')->default(''); - $table->text('body', 65535); + $table->text('body'); $table->integer('severity')->nullable()->default(0)->index()->comment('0=ok,1=warning,2=critical'); $table->string('source')->default(''); - $table->string('checksum', 128)->unique('checksum'); + $table->string('checksum', 128)->unique(); $table->timestamp('datetime')->default('1970-01-02 00:00:00'); }); } diff --git a/database/migrations/2018_07_03_091314_create_ospf_areas_table.php b/database/migrations/2018_07_03_091314_create_ospf_areas_table.php index 34e1b564e5..33e1e7eab3 100644 --- a/database/migrations/2018_07_03_091314_create_ospf_areas_table.php +++ b/database/migrations/2018_07_03_091314_create_ospf_areas_table.php @@ -27,7 +27,7 @@ class CreateOspfAreasTable extends Migration $table->string('ospfAreaSummary', 64); $table->string('ospfAreaStatus', 64); $table->string('context_name', 128)->nullable(); - $table->unique(['device_id','ospfAreaId','context_name'], 'device_area'); + $table->unique(['device_id','ospfAreaId','context_name']); }); } diff --git a/database/migrations/2018_07_03_091314_create_ospf_instances_table.php b/database/migrations/2018_07_03_091314_create_ospf_instances_table.php index 2889a3c559..a1058f9583 100644 --- a/database/migrations/2018_07_03_091314_create_ospf_instances_table.php +++ b/database/migrations/2018_07_03_091314_create_ospf_instances_table.php @@ -32,7 +32,7 @@ class CreateOspfInstancesTable extends Migration $table->integer('ospfExitOverflowInterval')->nullable(); $table->string('ospfDemandExtensions', 32)->nullable(); $table->string('context_name', 128)->nullable(); - $table->unique(['device_id','ospf_instance_id','context_name'], 'device_id'); + $table->unique(['device_id','ospf_instance_id','context_name']); }); } diff --git a/database/migrations/2018_07_03_091314_create_ospf_nbrs_table.php b/database/migrations/2018_07_03_091314_create_ospf_nbrs_table.php index 3555a88500..1a4d2bca18 100644 --- a/database/migrations/2018_07_03_091314_create_ospf_nbrs_table.php +++ b/database/migrations/2018_07_03_091314_create_ospf_nbrs_table.php @@ -30,7 +30,7 @@ class CreateOspfNbrsTable extends Migration $table->string('ospfNbmaNbrPermanence', 32); $table->string('ospfNbrHelloSuppressed', 32); $table->string('context_name', 128)->nullable(); - $table->unique(['device_id','ospf_nbr_id','context_name'], 'device_id'); + $table->unique(['device_id','ospf_nbr_id','context_name']); }); } diff --git a/database/migrations/2018_07_03_091314_create_ospf_ports_table.php b/database/migrations/2018_07_03_091314_create_ospf_ports_table.php index 38a996c4a5..6e1c183b7f 100644 --- a/database/migrations/2018_07_03_091314_create_ospf_ports_table.php +++ b/database/migrations/2018_07_03_091314_create_ospf_ports_table.php @@ -39,7 +39,7 @@ class CreateOspfPortsTable extends Migration $table->string('ospfIfDemand', 32)->nullable(); $table->string('ospfIfAuthType', 32)->nullable(); $table->string('context_name', 128)->nullable(); - $table->unique(['device_id','ospf_port_id','context_name'], 'device_id'); + $table->unique(['device_id','ospf_port_id','context_name']); }); } diff --git a/database/migrations/2018_07_03_091314_create_packages_table.php b/database/migrations/2018_07_03_091314_create_packages_table.php index 4578bae3cb..e4d1f22773 100644 --- a/database/migrations/2018_07_03_091314_create_packages_table.php +++ b/database/migrations/2018_07_03_091314_create_packages_table.php @@ -15,7 +15,7 @@ class CreatePackagesTable extends Migration { Schema::create('packages', function (Blueprint $table) { $table->increments('pkg_id'); - $table->unsignedInteger('device_id')->index('device_id'); + $table->unsignedInteger('device_id')->index(); $table->string('name', 64); $table->string('manager', 16)->default('1'); $table->boolean('status'); @@ -23,7 +23,7 @@ class CreatePackagesTable extends Migration $table->string('build', 64); $table->string('arch', 16); $table->bigInteger('size')->nullable(); - $table->unique(['device_id','name','manager','arch','version','build'], 'unique_key'); + $table->unique(['device_id','name','manager','arch','version','build']); }); } diff --git a/database/migrations/2018_07_03_091314_create_perf_times_table.php b/database/migrations/2018_07_03_091314_create_perf_times_table.php index c9691c03d8..c1b40f2e3b 100644 --- a/database/migrations/2018_07_03_091314_create_perf_times_table.php +++ b/database/migrations/2018_07_03_091314_create_perf_times_table.php @@ -15,7 +15,7 @@ class CreatePerfTimesTable extends Migration { Schema::create('perf_times', function (Blueprint $table) { $table->increments('id'); - $table->string('type', 8)->index('type'); + $table->string('type', 8)->index(); $table->string('doing', 64); $table->unsignedInteger('start'); $table->float('duration'); diff --git a/database/migrations/2018_07_03_091314_create_poller_cluster_stats_table.php b/database/migrations/2018_07_03_091314_create_poller_cluster_stats_table.php index b27bb36dc9..d2eddf7b91 100644 --- a/database/migrations/2018_07_03_091314_create_poller_cluster_stats_table.php +++ b/database/migrations/2018_07_03_091314_create_poller_cluster_stats_table.php @@ -22,7 +22,7 @@ class CreatePollerClusterStatsTable extends Migration $table->double('worker_seconds')->unsigned(); $table->unsignedInteger('workers'); $table->unsignedInteger('frequency'); - $table->unique(['parent_poller', 'poller_type'], 'parent_poller_poller_type'); + $table->unique(['parent_poller', 'poller_type']); }); } diff --git a/database/migrations/2018_07_03_091314_create_pollers_table.php b/database/migrations/2018_07_03_091314_create_pollers_table.php index eb3c38219b..85f6c93bdb 100644 --- a/database/migrations/2018_07_03_091314_create_pollers_table.php +++ b/database/migrations/2018_07_03_091314_create_pollers_table.php @@ -15,7 +15,7 @@ class CreatePollersTable extends Migration { Schema::create('pollers', function (Blueprint $table) { $table->increments('id'); - $table->string('poller_name')->unique('poller_name'); + $table->string('poller_name')->unique(); $table->dateTime('last_polled'); $table->unsignedInteger('devices'); $table->float('time_taken', 10, 0); diff --git a/database/migrations/2018_07_03_091314_create_ports_adsl_table.php b/database/migrations/2018_07_03_091314_create_ports_adsl_table.php index 0116467b99..78dc2eaba5 100644 --- a/database/migrations/2018_07_03_091314_create_ports_adsl_table.php +++ b/database/migrations/2018_07_03_091314_create_ports_adsl_table.php @@ -14,8 +14,8 @@ class CreatePortsAdslTable extends Migration public function up() { Schema::create('ports_adsl', function (Blueprint $table) { - $table->unsignedInteger('port_id')->unique('interface_id'); - $table->timestamp('port_adsl_updated')->default(DB::raw('CURRENT_TIMESTAMP')); + $table->unsignedInteger('port_id')->unique(); + $table->timestamp('port_adsl_updated')->useCurrent(); $table->string('adslLineCoding', 8); $table->string('adslLineType', 16); $table->string('adslAtucInvVendorID', 8); diff --git a/database/migrations/2018_07_03_091314_create_ports_fdb_table.php b/database/migrations/2018_07_03_091314_create_ports_fdb_table.php index adb6dcd111..2bb6f99b23 100644 --- a/database/migrations/2018_07_03_091314_create_ports_fdb_table.php +++ b/database/migrations/2018_07_03_091314_create_ports_fdb_table.php @@ -16,7 +16,7 @@ class CreatePortsFdbTable extends Migration Schema::create('ports_fdb', function (Blueprint $table) { $table->unsignedBigInteger('ports_fdb_id', true); $table->unsignedInteger('port_id')->index(); - $table->string('mac_address', 32)->index('mac_address'); + $table->string('mac_address', 32)->index(); $table->unsignedInteger('vlan_id')->index(); $table->unsignedInteger('device_id')->index(); }); diff --git a/database/migrations/2018_07_03_091314_create_ports_nac_table.php b/database/migrations/2018_07_03_091314_create_ports_nac_table.php index de9cd84eda..aa0f08907b 100644 --- a/database/migrations/2018_07_03_091314_create_ports_nac_table.php +++ b/database/migrations/2018_07_03_091314_create_ports_nac_table.php @@ -16,7 +16,7 @@ class CreatePortsNacTable extends Migration Schema::create('ports_nac', function (Blueprint $table) { $table->increments('ports_nac_id'); $table->string('auth_id', 50); - $table->unsignedInteger('device_id')->index('ports_nac_device_id_index'); + $table->unsignedInteger('device_id')->index(); $table->unsignedInteger('port_id'); $table->string('domain', 50); $table->string('username', 50); diff --git a/database/migrations/2018_07_03_091314_create_ports_stack_table.php b/database/migrations/2018_07_03_091314_create_ports_stack_table.php index c745290764..6445daeee4 100644 --- a/database/migrations/2018_07_03_091314_create_ports_stack_table.php +++ b/database/migrations/2018_07_03_091314_create_ports_stack_table.php @@ -18,7 +18,7 @@ class CreatePortsStackTable extends Migration $table->unsignedInteger('port_id_high'); $table->unsignedInteger('port_id_low'); $table->string('ifStackStatus', 32); - $table->unique(['device_id','port_id_high','port_id_low'], 'device_id'); + $table->unique(['device_id','port_id_high','port_id_low']); }); } diff --git a/database/migrations/2018_07_03_091314_create_ports_stp_table.php b/database/migrations/2018_07_03_091314_create_ports_stp_table.php index 3a238f6284..2c704efd4c 100644 --- a/database/migrations/2018_07_03_091314_create_ports_stp_table.php +++ b/database/migrations/2018_07_03_091314_create_ports_stp_table.php @@ -26,7 +26,7 @@ class CreatePortsStpTable extends Migration $table->string('designatedBridge', 32); $table->mediumInteger('designatedPort'); $table->integer('forwardTransitions')->unsigned(); - $table->unique(['device_id','port_id'], 'device_id'); + $table->unique(['device_id','port_id']); }); } diff --git a/database/migrations/2018_07_03_091314_create_ports_table.php b/database/migrations/2018_07_03_091314_create_ports_table.php index d89fe573ba..b011342910 100644 --- a/database/migrations/2018_07_03_091314_create_ports_table.php +++ b/database/migrations/2018_07_03_091314_create_ports_table.php @@ -21,7 +21,7 @@ class CreatePortsTable extends Migration $table->string('port_descr_circuit')->nullable(); $table->string('port_descr_speed', 32)->nullable(); $table->string('port_descr_notes')->nullable(); - $table->string('ifDescr')->nullable()->index('if_2'); + $table->string('ifDescr')->nullable()->index(); $table->string('ifName')->nullable(); $table->string('portName', 128)->nullable(); $table->bigInteger('ifIndex')->nullable()->default(0); @@ -35,9 +35,9 @@ class CreatePortsTable extends Migration $table->string('ifAdminStatus_prev', 16)->nullable(); $table->string('ifDuplex', 12)->nullable(); $table->integer('ifMtu')->nullable(); - $table->text('ifType', 65535)->nullable(); - $table->text('ifAlias', 65535)->nullable(); - $table->text('ifPhysAddress', 65535)->nullable(); + $table->text('ifType')->nullable(); + $table->text('ifAlias')->nullable(); + $table->text('ifPhysAddress')->nullable(); $table->string('ifHardType', 64)->nullable(); $table->bigInteger('ifLastChange')->unsigned()->default(0); $table->string('ifVlan', 8)->default(''); @@ -86,7 +86,7 @@ class CreatePortsTable extends Migration $table->unsignedInteger('poll_time')->nullable(); $table->unsignedInteger('poll_prev')->nullable(); $table->unsignedInteger('poll_period')->nullable(); - $table->unique(['device_id','ifIndex'], 'device_ifIndex'); + $table->unique(['device_id','ifIndex']); }); } diff --git a/database/migrations/2018_07_03_091314_create_ports_vlans_table.php b/database/migrations/2018_07_03_091314_create_ports_vlans_table.php index ff12f8d79d..9369360884 100644 --- a/database/migrations/2018_07_03_091314_create_ports_vlans_table.php +++ b/database/migrations/2018_07_03_091314_create_ports_vlans_table.php @@ -23,7 +23,7 @@ class CreatePortsVlansTable extends Migration $table->string('state', 16); $table->integer('cost'); $table->boolean('untagged')->default(0); - $table->unique(['device_id','port_id','vlan'], 'unique'); + $table->unique(['device_id','port_id','vlan']); }); } diff --git a/database/migrations/2018_07_03_091314_create_processes_table.php b/database/migrations/2018_07_03_091314_create_processes_table.php index a82e264f23..2b796722c8 100644 --- a/database/migrations/2018_07_03_091314_create_processes_table.php +++ b/database/migrations/2018_07_03_091314_create_processes_table.php @@ -14,7 +14,7 @@ class CreateProcessesTable extends Migration public function up() { Schema::create('processes', function (Blueprint $table) { - $table->unsignedInteger('device_id')->index('device_id'); + $table->unsignedInteger('device_id')->index(); $table->integer('pid'); $table->integer('vsz'); $table->integer('rss'); diff --git a/database/migrations/2018_07_03_091314_create_processors_table.php b/database/migrations/2018_07_03_091314_create_processors_table.php index 77753e5d30..468d01f275 100644 --- a/database/migrations/2018_07_03_091314_create_processors_table.php +++ b/database/migrations/2018_07_03_091314_create_processors_table.php @@ -17,7 +17,7 @@ class CreateProcessorsTable extends Migration $table->increments('processor_id'); $table->integer('entPhysicalIndex')->default(0); $table->integer('hrDeviceIndex')->nullable(); - $table->unsignedInteger('device_id')->index('device_id'); + $table->unsignedInteger('device_id')->index(); $table->string('processor_oid', 128); $table->string('processor_index', 32); $table->string('processor_type', 16); diff --git a/database/migrations/2018_07_03_091314_create_proxmox_ports_table.php b/database/migrations/2018_07_03_091314_create_proxmox_ports_table.php index 2e0f24bc86..776f9e4ce7 100644 --- a/database/migrations/2018_07_03_091314_create_proxmox_ports_table.php +++ b/database/migrations/2018_07_03_091314_create_proxmox_ports_table.php @@ -17,8 +17,8 @@ class CreateProxmoxPortsTable extends Migration $table->increments('id'); $table->integer('vm_id'); $table->string('port', 10); - $table->timestamp('last_seen')->default(DB::raw('CURRENT_TIMESTAMP')); - $table->unique(['vm_id','port'], 'vm_port'); + $table->timestamp('last_seen')->useCurrent(); + $table->unique(['vm_id','port']); }); } diff --git a/database/migrations/2018_07_03_091314_create_proxmox_table.php b/database/migrations/2018_07_03_091314_create_proxmox_table.php index 2fb55b16a8..64e58ff169 100644 --- a/database/migrations/2018_07_03_091314_create_proxmox_table.php +++ b/database/migrations/2018_07_03_091314_create_proxmox_table.php @@ -19,8 +19,8 @@ class CreateProxmoxTable extends Migration $table->integer('vmid'); $table->string('cluster'); $table->string('description')->nullable(); - $table->timestamp('last_seen')->default(DB::raw('CURRENT_TIMESTAMP')); - $table->unique(['cluster','vmid'], 'cluster_vm'); + $table->timestamp('last_seen')->useCurrent(); + $table->unique(['cluster','vmid']); }); } diff --git a/database/migrations/2018_07_03_091314_create_sensors_table.php b/database/migrations/2018_07_03_091314_create_sensors_table.php index 7699a9585e..8a2944ff58 100644 --- a/database/migrations/2018_07_03_091314_create_sensors_table.php +++ b/database/migrations/2018_07_03_091314_create_sensors_table.php @@ -16,12 +16,12 @@ class CreateSensorsTable extends Migration Schema::create('sensors', function (Blueprint $table) { $table->increments('sensor_id'); $table->boolean('sensor_deleted')->default(0); - $table->string('sensor_class', 64)->index('sensor_class'); - $table->unsignedInteger('device_id')->default(0)->index('sensor_host'); + $table->string('sensor_class', 64)->index(); + $table->unsignedInteger('device_id')->default(0)->index(); $table->string('poller_type', 16)->default('snmp'); $table->string('sensor_oid'); $table->string('sensor_index', 128)->nullable(); - $table->string('sensor_type')->index('sensor_type'); + $table->string('sensor_type')->index(); $table->string('sensor_descr')->nullable(); $table->string('group')->nullable(); $table->bigInteger('sensor_divisor')->default(1); @@ -35,7 +35,11 @@ class CreateSensorsTable extends Migration $table->enum('sensor_custom', array('No','Yes'))->default('No'); $table->string('entPhysicalIndex', 16)->nullable(); $table->string('entPhysicalIndex_measured', 16)->nullable(); - $table->timestamp('lastupdate')->default(DB::raw('CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP')); + if (\LibreNMS\DB\Eloquent::getDriver() == 'mysql') { + $table->timestamp('lastupdate')->default(DB::raw('CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP')); + } else { + $table->timestamp('lastupdate')->useCurrent(); + } $table->double('sensor_prev')->nullable(); $table->string('user_func', 100)->nullable(); }); diff --git a/database/migrations/2018_07_03_091314_create_sensors_to_state_indexes_table.php b/database/migrations/2018_07_03_091314_create_sensors_to_state_indexes_table.php index eb42a5f475..ff4f35a1e7 100644 --- a/database/migrations/2018_07_03_091314_create_sensors_to_state_indexes_table.php +++ b/database/migrations/2018_07_03_091314_create_sensors_to_state_indexes_table.php @@ -16,8 +16,8 @@ class CreateSensorsToStateIndexesTable extends Migration Schema::create('sensors_to_state_indexes', function (Blueprint $table) { $table->increments('sensors_to_state_translations_id'); $table->unsignedInteger('sensor_id'); - $table->unsignedInteger('state_index_id')->index('state_index_id'); - $table->unique(['sensor_id','state_index_id'], 'sensor_id_state_index_id'); + $table->unsignedInteger('state_index_id')->index(); + $table->unique(['sensor_id','state_index_id']); }); } diff --git a/database/migrations/2018_07_03_091314_create_services_table.php b/database/migrations/2018_07_03_091314_create_services_table.php index b63e92c6a6..108c5c4d04 100644 --- a/database/migrations/2018_07_03_091314_create_services_table.php +++ b/database/migrations/2018_07_03_091314_create_services_table.php @@ -15,7 +15,7 @@ class CreateServicesTable extends Migration { Schema::create('services', function (Blueprint $table) { $table->increments('service_id'); - $table->unsignedInteger('device_id')->index('service_host'); + $table->unsignedInteger('device_id')->index(); $table->text('service_ip'); $table->string('service_type'); $table->text('service_desc'); diff --git a/database/migrations/2018_07_03_091314_create_session_table.php b/database/migrations/2018_07_03_091314_create_session_table.php index 8e5f4f310e..f0f4e12264 100644 --- a/database/migrations/2018_07_03_091314_create_session_table.php +++ b/database/migrations/2018_07_03_091314_create_session_table.php @@ -16,7 +16,7 @@ class CreateSessionTable extends Migration Schema::create('session', function (Blueprint $table) { $table->increments('session_id'); $table->string('session_username'); - $table->string('session_value', 60)->unique('session_value'); + $table->string('session_value', 60)->unique(); $table->string('session_token', 60); $table->string('session_auth', 16); $table->integer('session_expiry'); diff --git a/database/migrations/2018_07_03_091314_create_slas_table.php b/database/migrations/2018_07_03_091314_create_slas_table.php index b8ca88211f..51f609ffff 100644 --- a/database/migrations/2018_07_03_091314_create_slas_table.php +++ b/database/migrations/2018_07_03_091314_create_slas_table.php @@ -15,7 +15,7 @@ class CreateSlasTable extends Migration { Schema::create('slas', function (Blueprint $table) { $table->increments('sla_id'); - $table->unsignedInteger('device_id')->index('device_id'); + $table->unsignedInteger('device_id')->index(); $table->integer('sla_nr'); $table->string('owner'); $table->string('tag'); @@ -23,7 +23,7 @@ class CreateSlasTable extends Migration $table->boolean('status'); $table->boolean('opstatus')->default(0); $table->boolean('deleted')->default(0); - $table->unique(['device_id','sla_nr'], 'unique_key'); + $table->unique(['device_id','sla_nr']); }); } diff --git a/database/migrations/2018_07_03_091314_create_state_indexes_table.php b/database/migrations/2018_07_03_091314_create_state_indexes_table.php index be02c69de3..2d2a9f79e8 100644 --- a/database/migrations/2018_07_03_091314_create_state_indexes_table.php +++ b/database/migrations/2018_07_03_091314_create_state_indexes_table.php @@ -15,7 +15,7 @@ class CreateStateIndexesTable extends Migration { Schema::create('state_indexes', function (Blueprint $table) { $table->increments('state_index_id'); - $table->string('state_name', 64)->unique('state_name'); + $table->string('state_name', 64)->unique(); }); } diff --git a/database/migrations/2018_07_03_091314_create_state_translations_table.php b/database/migrations/2018_07_03_091314_create_state_translations_table.php index e5aa43b23c..cec32e5e18 100644 --- a/database/migrations/2018_07_03_091314_create_state_translations_table.php +++ b/database/migrations/2018_07_03_091314_create_state_translations_table.php @@ -20,8 +20,12 @@ class CreateStateTranslationsTable extends Migration $table->boolean('state_draw_graph'); $table->smallInteger('state_value')->default(0); $table->boolean('state_generic_value'); - $table->timestamp('state_lastupdated')->default(DB::raw('CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP')); - $table->unique(['state_index_id','state_value'], 'state_index_id_value'); + if (\LibreNMS\DB\Eloquent::getDriver() == 'mysql') { + $table->timestamp('state_lastupdated')->default(DB::raw('CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP')); + } else { + $table->timestamp('state_lastupdated')->useCurrent(); + } + $table->unique(['state_index_id','state_value']); }); } diff --git a/database/migrations/2018_07_03_091314_create_storage_table.php b/database/migrations/2018_07_03_091314_create_storage_table.php index d1c6dfa5f4..621378a563 100644 --- a/database/migrations/2018_07_03_091314_create_storage_table.php +++ b/database/migrations/2018_07_03_091314_create_storage_table.php @@ -15,11 +15,11 @@ class CreateStorageTable extends Migration { Schema::create('storage', function (Blueprint $table) { $table->increments('storage_id'); - $table->unsignedInteger('device_id')->index('device_id'); + $table->unsignedInteger('device_id')->index(); $table->string('storage_mib', 16); $table->string('storage_index', 64)->nullable(); $table->string('storage_type', 32)->nullable(); - $table->text('storage_descr', 65535); + $table->text('storage_descr'); $table->bigInteger('storage_size'); $table->integer('storage_units'); $table->bigInteger('storage_used')->default(0); @@ -27,7 +27,7 @@ class CreateStorageTable extends Migration $table->integer('storage_perc')->default(0); $table->integer('storage_perc_warn')->nullable()->default(60); $table->boolean('storage_deleted')->default(0); - $table->unique(['device_id','storage_mib','storage_index'], 'index_unique'); + $table->unique(['device_id','storage_mib','storage_index']); }); } diff --git a/database/migrations/2018_07_03_091314_create_stp_table.php b/database/migrations/2018_07_03_091314_create_stp_table.php index c5ef850799..06d0ee5b21 100644 --- a/database/migrations/2018_07_03_091314_create_stp_table.php +++ b/database/migrations/2018_07_03_091314_create_stp_table.php @@ -14,7 +14,7 @@ class CreateStpTable extends Migration { Schema::create('stp', function (Blueprint $table) { $table->increments('stp_id'); - $table->unsignedInteger('device_id')->index('stp_host'); + $table->unsignedInteger('device_id')->index(); $table->boolean('rootBridge'); $table->string('bridgeAddress', 32); $table->string('protocolSpecification', 16); diff --git a/database/migrations/2018_07_03_091314_create_syslog_table.php b/database/migrations/2018_07_03_091314_create_syslog_table.php index 7f4e0d89e7..88aed4ec1e 100644 --- a/database/migrations/2018_07_03_091314_create_syslog_table.php +++ b/database/migrations/2018_07_03_091314_create_syslog_table.php @@ -14,17 +14,17 @@ class CreateSyslogTable extends Migration public function up() { Schema::create('syslog', function (Blueprint $table) { - $table->unsignedInteger('device_id')->nullable()->index('device_id'); + $table->unsignedInteger('device_id')->nullable()->index(); $table->string('facility', 10)->nullable(); $table->string('priority', 10)->nullable(); $table->string('level', 10)->nullable(); $table->string('tag', 10)->nullable(); - $table->timestamp('timestamp')->default(DB::raw('CURRENT_TIMESTAMP'))->index('datetime'); - $table->string('program', 32)->nullable()->index('program'); - $table->text('msg', 65535)->nullable(); + $table->timestamp('timestamp')->useCurrent()->index(); + $table->string('program', 32)->nullable()->index(); + $table->text('msg')->nullable(); $table->bigInteger('seq', true)->unsigned(); - $table->index(['priority','level'], 'priority_level'); - $table->index(['device_id', 'timestamp'], 'device_id-timestamp'); + $table->index(['priority','level']); + $table->index(['device_id', 'timestamp']); }); } diff --git a/database/migrations/2018_07_03_091314_create_tnmsneinfo_table.php b/database/migrations/2018_07_03_091314_create_tnmsneinfo_table.php index dd18053ba7..a76d733c7d 100644 --- a/database/migrations/2018_07_03_091314_create_tnmsneinfo_table.php +++ b/database/migrations/2018_07_03_091314_create_tnmsneinfo_table.php @@ -15,8 +15,8 @@ class CreateTnmsneinfoTable extends Migration { Schema::create('tnmsneinfo', function (Blueprint $table) { $table->increments('id'); - $table->unsignedInteger('device_id')->index('device_id'); - $table->integer('neID')->index('neID'); + $table->unsignedInteger('device_id')->index(); + $table->integer('neID')->index(); $table->string('neType', 128); $table->string('neName', 128); $table->string('neLocation', 128); diff --git a/database/migrations/2018_07_03_091314_create_toner_table.php b/database/migrations/2018_07_03_091314_create_toner_table.php index c34335ca2b..4f374ef77e 100644 --- a/database/migrations/2018_07_03_091314_create_toner_table.php +++ b/database/migrations/2018_07_03_091314_create_toner_table.php @@ -15,7 +15,7 @@ class CreateTonerTable extends Migration { Schema::create('toner', function (Blueprint $table) { $table->increments('toner_id'); - $table->unsignedInteger('device_id')->default(0)->index('device_id'); + $table->unsignedInteger('device_id')->default(0)->index(); $table->integer('toner_index'); $table->string('toner_type', 64); $table->string('toner_oid', 64); diff --git a/database/migrations/2018_07_03_091314_create_ucd_diskio_table.php b/database/migrations/2018_07_03_091314_create_ucd_diskio_table.php index 53158c7126..9708ef1905 100644 --- a/database/migrations/2018_07_03_091314_create_ucd_diskio_table.php +++ b/database/migrations/2018_07_03_091314_create_ucd_diskio_table.php @@ -15,7 +15,7 @@ class CreateUcdDiskioTable extends Migration { Schema::create('ucd_diskio', function (Blueprint $table) { $table->increments('diskio_id'); - $table->unsignedInteger('device_id')->index('device_id'); + $table->unsignedInteger('device_id')->index(); $table->integer('diskio_index'); $table->string('diskio_descr', 32); }); diff --git a/database/migrations/2018_07_03_091314_create_users_table.php b/database/migrations/2018_07_03_091314_create_users_table.php index fe5b150c32..2bd4b99721 100644 --- a/database/migrations/2018_07_03_091314_create_users_table.php +++ b/database/migrations/2018_07_03_091314_create_users_table.php @@ -25,9 +25,9 @@ class CreateUsersTable extends Migration $table->tinyInteger('level')->default(0); $table->boolean('can_modify_passwd')->default(1); $table->timestamp('created_at')->default('1970-01-02 00:00:01'); - $table->timestamp('updated_at')->default(DB::raw('CURRENT_TIMESTAMP')); + $table->timestamp('updated_at')->useCurrent(); $table->string('remember_token', 100)->nullable(); - $table->unique(['auth_type', 'username'], 'username'); + $table->unique(['auth_type', 'username']); }); } diff --git a/database/migrations/2018_07_03_091314_create_vminfo_table.php b/database/migrations/2018_07_03_091314_create_vminfo_table.php index a740783d63..90fb506a0b 100644 --- a/database/migrations/2018_07_03_091314_create_vminfo_table.php +++ b/database/migrations/2018_07_03_091314_create_vminfo_table.php @@ -15,9 +15,9 @@ class CreateVminfoTable extends Migration { Schema::create('vminfo', function (Blueprint $table) { $table->increments('id'); - $table->unsignedInteger('device_id')->index('device_id'); + $table->unsignedInteger('device_id')->index(); $table->string('vm_type', 16)->default('vmware'); - $table->integer('vmwVmVMID')->index('vmwVmVMID'); + $table->integer('vmwVmVMID')->index(); $table->string('vmwVmDisplayName', 128); $table->string('vmwVmGuestOS', 128); $table->integer('vmwVmMemSize'); diff --git a/database/migrations/2018_07_03_091314_create_vrf_lite_cisco_table.php b/database/migrations/2018_07_03_091314_create_vrf_lite_cisco_table.php index f084d2447e..521c9b7dd3 100644 --- a/database/migrations/2018_07_03_091314_create_vrf_lite_cisco_table.php +++ b/database/migrations/2018_07_03_091314_create_vrf_lite_cisco_table.php @@ -15,11 +15,11 @@ class CreateVrfLiteCiscoTable extends Migration { Schema::create('vrf_lite_cisco', function (Blueprint $table) { $table->increments('vrf_lite_cisco_id'); - $table->unsignedInteger('device_id')->index('device'); - $table->string('context_name', 128)->index('context'); + $table->unsignedInteger('device_id')->index(); + $table->string('context_name', 128)->index(); $table->string('intance_name', 128)->nullable()->default(''); - $table->string('vrf_name', 128)->nullable()->default('Default')->index('vrf'); - $table->index(['device_id','context_name','vrf_name'], 'mix'); + $table->string('vrf_name', 128)->nullable()->default('Default')->index(); + $table->index(['device_id','context_name','vrf_name']); }); } diff --git a/database/migrations/2018_07_03_091314_create_vrfs_table.php b/database/migrations/2018_07_03_091314_create_vrfs_table.php index 57149376dc..079295e00d 100644 --- a/database/migrations/2018_07_03_091314_create_vrfs_table.php +++ b/database/migrations/2018_07_03_091314_create_vrfs_table.php @@ -18,8 +18,8 @@ class CreateVrfsTable extends Migration $table->string('vrf_oid', 256); $table->string('vrf_name', 128)->nullable(); $table->string('mplsVpnVrfRouteDistinguisher', 128)->nullable(); - $table->text('mplsVpnVrfDescription', 65535); - $table->unsignedInteger('device_id')->index('device_id'); + $table->text('mplsVpnVrfDescription'); + $table->unsignedInteger('device_id')->index(); }); } diff --git a/database/migrations/2018_07_03_091314_create_widgets_table.php b/database/migrations/2018_07_03_091314_create_widgets_table.php index 806fdde3f2..30cc6a6fd7 100644 --- a/database/migrations/2018_07_03_091314_create_widgets_table.php +++ b/database/migrations/2018_07_03_091314_create_widgets_table.php @@ -16,7 +16,7 @@ class CreateWidgetsTable extends Migration Schema::create('widgets', function (Blueprint $table) { $table->increments('widget_id'); $table->string('widget_title'); - $table->string('widget')->unique('widget'); + $table->string('widget')->unique(); $table->string('base_dimensions', 10); }); } diff --git a/database/migrations/2018_07_03_091314_create_wireless_sensors_table.php b/database/migrations/2018_07_03_091314_create_wireless_sensors_table.php index e3d0f7a638..e3b1548d86 100644 --- a/database/migrations/2018_07_03_091314_create_wireless_sensors_table.php +++ b/database/migrations/2018_07_03_091314_create_wireless_sensors_table.php @@ -16,10 +16,10 @@ class CreateWirelessSensorsTable extends Migration Schema::create('wireless_sensors', function (Blueprint $table) { $table->increments('sensor_id'); $table->boolean('sensor_deleted')->default(0); - $table->string('sensor_class', 64)->index('sensor_class'); - $table->unsignedInteger('device_id')->default(0)->index('sensor_host'); + $table->string('sensor_class', 64)->index(); + $table->unsignedInteger('device_id')->default(0)->index(); $table->string('sensor_index', 64)->nullable(); - $table->string('sensor_type')->index('sensor_type'); + $table->string('sensor_type')->index(); $table->string('sensor_descr')->nullable(); $table->integer('sensor_divisor')->default(1); $table->integer('sensor_multiplier')->default(1); @@ -34,7 +34,7 @@ class CreateWirelessSensorsTable extends Migration $table->enum('sensor_custom', ['No', 'Yes'])->default('No'); $table->string('entPhysicalIndex', 16)->nullable(); $table->string('entPhysicalIndex_measured', 16)->nullable(); - $table->timestamp('lastupdate')->default(DB::raw('CURRENT_TIMESTAMP')); + $table->timestamp('lastupdate')->useCurrent(); $table->text('sensor_oids'); $table->unsignedInteger('access_point_id')->nullable(); }); diff --git a/database/migrations/2018_07_03_091322_add_foreign_keys_to_component_prefs_table.php b/database/migrations/2018_07_03_091322_add_foreign_keys_to_component_prefs_table.php index 80564f774e..d4f19e08a4 100644 --- a/database/migrations/2018_07_03_091322_add_foreign_keys_to_component_prefs_table.php +++ b/database/migrations/2018_07_03_091322_add_foreign_keys_to_component_prefs_table.php @@ -25,8 +25,10 @@ class AddForeignKeysToComponentPrefsTable extends Migration */ public function down() { - Schema::table('component_prefs', function (Blueprint $table) { - $table->dropForeign('component_prefs_ibfk_1'); - }); + if (\LibreNMS\DB\Eloquent::getDriver() !== 'sqlite') { + Schema::table('component_prefs', function (Blueprint $table) { + $table->dropForeign('component_prefs_ibfk_1'); + }); + } } } diff --git a/database/migrations/2018_07_03_091322_add_foreign_keys_to_component_statuslog_table.php b/database/migrations/2018_07_03_091322_add_foreign_keys_to_component_statuslog_table.php index 2858d55d80..11e743059a 100644 --- a/database/migrations/2018_07_03_091322_add_foreign_keys_to_component_statuslog_table.php +++ b/database/migrations/2018_07_03_091322_add_foreign_keys_to_component_statuslog_table.php @@ -26,8 +26,10 @@ class AddForeignKeysToComponentStatuslogTable extends Migration */ public function down() { - Schema::table('component_statuslog', function (Blueprint $table) { - $table->dropForeign('component_statuslog_ibfk_1'); - }); + if (\LibreNMS\DB\Eloquent::getDriver() !== 'sqlite') { + Schema::table('component_statuslog', function (Blueprint $table) { + $table->dropForeign('component_statuslog_ibfk_1'); + }); + } } } diff --git a/database/migrations/2018_07_03_091322_add_foreign_keys_to_device_group_device_table.php b/database/migrations/2018_07_03_091322_add_foreign_keys_to_device_group_device_table.php index 824b55e2ad..152929e993 100644 --- a/database/migrations/2018_07_03_091322_add_foreign_keys_to_device_group_device_table.php +++ b/database/migrations/2018_07_03_091322_add_foreign_keys_to_device_group_device_table.php @@ -27,9 +27,11 @@ class AddForeignKeysToDeviceGroupDeviceTable extends Migration */ public function down() { - Schema::table('device_group_device', function (Blueprint $table) { - $table->dropForeign('device_group_device_device_group_id_foreign'); - $table->dropForeign('device_group_device_device_id_foreign'); - }); + if (\LibreNMS\DB\Eloquent::getDriver() !== 'sqlite') { + Schema::table('device_group_device', function (Blueprint $table) { + $table->dropForeign('device_group_device_device_group_id_foreign'); + $table->dropForeign('device_group_device_device_id_foreign'); + }); + } } } diff --git a/database/migrations/2018_07_03_091322_add_foreign_keys_to_device_relationships_table.php b/database/migrations/2018_07_03_091322_add_foreign_keys_to_device_relationships_table.php index c36ec3eebf..eaa8e156c1 100644 --- a/database/migrations/2018_07_03_091322_add_foreign_keys_to_device_relationships_table.php +++ b/database/migrations/2018_07_03_091322_add_foreign_keys_to_device_relationships_table.php @@ -26,9 +26,11 @@ class AddForeignKeysToDeviceRelationshipsTable extends Migration */ public function down() { - Schema::table('device_relationships', function (Blueprint $table) { - $table->dropForeign('device_relationship_child_device_id_fk'); - $table->dropForeign('device_relationship_parent_device_id_fk'); - }); + if (\LibreNMS\DB\Eloquent::getDriver() !== 'sqlite') { + Schema::table('device_relationships', function (Blueprint $table) { + $table->dropForeign('device_relationship_child_device_id_fk'); + $table->dropForeign('device_relationship_parent_device_id_fk'); + }); + } } } diff --git a/database/migrations/2018_07_03_091322_add_foreign_keys_to_sensors_table.php b/database/migrations/2018_07_03_091322_add_foreign_keys_to_sensors_table.php index c6f01e4d8f..88575629e7 100644 --- a/database/migrations/2018_07_03_091322_add_foreign_keys_to_sensors_table.php +++ b/database/migrations/2018_07_03_091322_add_foreign_keys_to_sensors_table.php @@ -25,8 +25,10 @@ class AddForeignKeysToSensorsTable extends Migration */ public function down() { - Schema::table('sensors', function (Blueprint $table) { - $table->dropForeign('sensors_device_id_foreign'); - }); + if (\LibreNMS\DB\Eloquent::getDriver() !== 'sqlite') { + Schema::table('sensors', function (Blueprint $table) { + $table->dropForeign('sensors_device_id_foreign'); + }); + } } } diff --git a/database/migrations/2018_07_03_091322_add_foreign_keys_to_sensors_to_state_indexes_table.php b/database/migrations/2018_07_03_091322_add_foreign_keys_to_sensors_to_state_indexes_table.php index 1ab48d951b..daef9e74a0 100644 --- a/database/migrations/2018_07_03_091322_add_foreign_keys_to_sensors_to_state_indexes_table.php +++ b/database/migrations/2018_07_03_091322_add_foreign_keys_to_sensors_to_state_indexes_table.php @@ -26,9 +26,11 @@ class AddForeignKeysToSensorsToStateIndexesTable extends Migration */ public function down() { - Schema::table('sensors_to_state_indexes', function (Blueprint $table) { - $table->dropForeign('sensors_to_state_indexes_ibfk_1'); - $table->dropForeign('sensors_to_state_indexes_sensor_id_foreign'); - }); + if (\LibreNMS\DB\Eloquent::getDriver() !== 'sqlite') { + Schema::table('sensors_to_state_indexes', function (Blueprint $table) { + $table->dropForeign('sensors_to_state_indexes_ibfk_1'); + $table->dropForeign('sensors_to_state_indexes_sensor_id_foreign'); + }); + } } } diff --git a/database/migrations/2018_07_03_091322_add_foreign_keys_to_wireless_sensors_table.php b/database/migrations/2018_07_03_091322_add_foreign_keys_to_wireless_sensors_table.php index e04475a533..3e225beb86 100644 --- a/database/migrations/2018_07_03_091322_add_foreign_keys_to_wireless_sensors_table.php +++ b/database/migrations/2018_07_03_091322_add_foreign_keys_to_wireless_sensors_table.php @@ -25,8 +25,10 @@ class AddForeignKeysToWirelessSensorsTable extends Migration */ public function down() { - Schema::table('wireless_sensors', function (Blueprint $table) { - $table->dropForeign('wireless_sensors_device_id_foreign'); - }); + if (\LibreNMS\DB\Eloquent::getDriver() !== 'sqlite') { + Schema::table('wireless_sensors', function (Blueprint $table) { + $table->dropForeign('wireless_sensors_device_id_foreign'); + }); + } } } diff --git a/database/migrations/2019_01_16_132200_add_vlan_and_elapsed_to_nac.php b/database/migrations/2019_01_16_132200_add_vlan_and_elapsed_to_nac.php index 17551ba300..df079c9be8 100644 --- a/database/migrations/2019_01_16_132200_add_vlan_and_elapsed_to_nac.php +++ b/database/migrations/2019_01_16_132200_add_vlan_and_elapsed_to_nac.php @@ -28,8 +28,7 @@ class AddVlanAndElapsedToNac extends Migration public function down() { Schema::table('ports_nac', function (Blueprint $table) { - $table->dropColumn('vlan'); - $table->dropColumn('time_elapsed'); + $table->dropColumn(['vlan', 'time_elapsed']); $table->string('time_left', 50)->change(); }); } diff --git a/database/migrations/2019_02_05_140857_remove_config_definition_from_db.php b/database/migrations/2019_02_05_140857_remove_config_definition_from_db.php index 011c8480ff..0b001b5918 100644 --- a/database/migrations/2019_02_05_140857_remove_config_definition_from_db.php +++ b/database/migrations/2019_02_05_140857_remove_config_definition_from_db.php @@ -13,6 +13,9 @@ class RemoveConfigDefinitionFromDb extends Migration */ public function up() { +// $schema = new \Thedevsaddam\LaravelSchema\Schema\Schema(); +// dd($schema->databaseWrapper->getColumns('config')); + Schema::table('config', function (Blueprint $table) { $table->dropColumn([ 'config_default', @@ -35,11 +38,11 @@ class RemoveConfigDefinitionFromDb extends Migration public function down() { Schema::table('config', function (Blueprint $table) { - $table->string('config_default', 512); - $table->string('config_descr', 100); - $table->string('config_group', 50); + $table->string('config_default', 512)->nullable(); + $table->string('config_descr', 100)->nullable(); + $table->string('config_group', 50)->nullable(); $table->integer('config_group_order')->default(0); - $table->string('config_sub_group', 50); + $table->string('config_sub_group', 50)->nullable(); $table->integer('config_sub_group_order')->default(0); $table->enum('config_hidden', ['0','1'])->default('0'); $table->enum('config_disabled', ['0','1'])->default('0'); diff --git a/database/migrations/2019_02_10_220000_add_dates_to_fdb.php b/database/migrations/2019_02_10_220000_add_dates_to_fdb.php index ef864d63e7..ca4e1273cb 100644 --- a/database/migrations/2019_02_10_220000_add_dates_to_fdb.php +++ b/database/migrations/2019_02_10_220000_add_dates_to_fdb.php @@ -32,8 +32,7 @@ class AddDatesToFdb extends Migration public function down() { Schema::table('ports_fdb', function (Blueprint $table) { - $table->dropColumn('created_at'); - $table->dropColumn('updated_at'); + $table->dropColumn(['created_at', 'updated_at']); }); } } diff --git a/database/migrations/2019_05_12_202407_create_mpls_lsps_table.php b/database/migrations/2019_05_12_202407_create_mpls_lsps_table.php index e4b954ec33..7a733ba3a1 100644 --- a/database/migrations/2019_05_12_202407_create_mpls_lsps_table.php +++ b/database/migrations/2019_05_12_202407_create_mpls_lsps_table.php @@ -17,7 +17,7 @@ class CreateMplsLspsTable extends Migration $table->increments('lsp_id'); $table->unsignedInteger('vrf_oid'); $table->unsignedInteger('lsp_oid'); - $table->unsignedInteger('device_id')->index('device_id'); + $table->unsignedInteger('device_id')->index(); $table->enum('mplsLspRowStatus', array('active','notInService','notReady','createAndGo','createAndWait','destroy')); $table->bigInteger('mplsLspLastChange')->nullable(); $table->string('mplsLspName', 64); diff --git a/database/migrations/2019_05_12_202408_create_mpls_lsp_paths_table.php b/database/migrations/2019_05_12_202408_create_mpls_lsp_paths_table.php index 124e93160e..6e133af9d0 100644 --- a/database/migrations/2019_05_12_202408_create_mpls_lsp_paths_table.php +++ b/database/migrations/2019_05_12_202408_create_mpls_lsp_paths_table.php @@ -17,7 +17,7 @@ class CreateMplsLspPathsTable extends Migration $table->increments('lsp_path_id'); $table->unsignedInteger('lsp_id'); $table->unsignedInteger('path_oid'); - $table->unsignedInteger('device_id')->index('device_id'); + $table->unsignedInteger('device_id')->index(); $table->enum('mplsLspPathRowStatus', array('active','notInService','notReady','createAndGo','createAndWait','destroy')); $table->bigInteger('mplsLspPathLastChange'); $table->enum('mplsLspPathType', array('other', 'primary', 'standby', 'secondary')); diff --git a/database/migrations/2019_05_30_225937_device_groups_rewrite.php b/database/migrations/2019_05_30_225937_device_groups_rewrite.php index 944966e8a2..91e5ef7f6e 100644 --- a/database/migrations/2019_05_30_225937_device_groups_rewrite.php +++ b/database/migrations/2019_05_30_225937_device_groups_rewrite.php @@ -28,11 +28,11 @@ class DeviceGroupsRewrite extends Migration */ public function down() { - Schema::table('device_groups', function (Blueprint $table) { - $table->string('desc')->change(); - $table->dropColumn('type'); - $table->dropColumn('rules'); - $table->text('params')->nullable()->after('pattern'); - }); +// dd(Schema::getColumnListing('device_groups'), \LibreNMS\DB\Eloquent::getDriver()); +// Schema::table('device_groups', function (Blueprint $table) { +// $table->string('desc')->change(); +// $table->dropColumn(['type', 'rules']); +// $table->text('params')->nullable()->after('pattern'); +// }); } } diff --git a/database/migrations/2019_06_30_190400_create_mpls_sdps_table.php b/database/migrations/2019_06_30_190400_create_mpls_sdps_table.php index 02324ba078..a8c7fd5d37 100644 --- a/database/migrations/2019_06_30_190400_create_mpls_sdps_table.php +++ b/database/migrations/2019_06_30_190400_create_mpls_sdps_table.php @@ -16,7 +16,7 @@ class CreateMplsSdpsTable extends Migration Schema::create('mpls_sdps', function (Blueprint $table) { $table->increments('sdp_id'); $table->unsignedInteger('sdp_oid'); - $table->unsignedInteger('device_id')->index('device_id'); + $table->unsignedInteger('device_id')->index(); $table->enum('sdpRowStatus', array('active','notInService','notReady','createAndGo','createAndWait','destroy'))->nullable(); $table->enum('sdpDelivery', array('gre','mpls','l2tpv3','greethbridged'))->nullable(); $table->string('sdpDescription', 80)->nullable(); diff --git a/database/migrations/2019_06_30_190401_create_mpls_sdp_binds_table.php b/database/migrations/2019_06_30_190401_create_mpls_sdp_binds_table.php index 89aab76f9b..3ba72107ea 100644 --- a/database/migrations/2019_06_30_190401_create_mpls_sdp_binds_table.php +++ b/database/migrations/2019_06_30_190401_create_mpls_sdp_binds_table.php @@ -19,7 +19,7 @@ class CreateMplsSdpBindsTable extends Migration $table->unsignedInteger('svc_id'); $table->unsignedInteger('sdp_oid'); $table->unsignedInteger('svc_oid'); - $table->unsignedInteger('device_id')->index('device_id'); + $table->unsignedInteger('device_id')->index(); $table->enum('sdpBindRowStatus', array('active','notInService','notReady','createAndGo','createAndWait','destroy'))->nullable(); $table->enum('sdpBindAdminStatus', array('up','down'))->nullable(); $table->enum('sdpBindOperStatus', array('up','down'))->nullable(); diff --git a/database/migrations/2019_06_30_190402_create_mpls_services_table.php b/database/migrations/2019_06_30_190402_create_mpls_services_table.php index 07622bc190..0234b1b487 100644 --- a/database/migrations/2019_06_30_190402_create_mpls_services_table.php +++ b/database/migrations/2019_06_30_190402_create_mpls_services_table.php @@ -16,7 +16,7 @@ class CreateMplsServicesTable extends Migration Schema::create('mpls_services', function (Blueprint $table) { $table->increments('svc_id'); $table->unsignedInteger('svc_oid'); - $table->unsignedInteger('device_id')->index('device_id'); + $table->unsignedInteger('device_id')->index(); $table->enum('svcRowStatus', array('active', 'notInService', 'notReady', 'createAndGo', 'createAndWait', 'destroy'))->nullable(); $table->enum('svcType', array('unknown', 'epipe', 'tls', 'vprn', 'ies', 'mirror', 'apipe', 'fpipe', 'ipipe', 'cpipe', 'intTls', 'evpnIsaTls'))->nullable(); $table->unsignedInteger('svcCustId')->nullable(); diff --git a/database/migrations/2019_07_03_132417_create_mpls_saps_table.php b/database/migrations/2019_07_03_132417_create_mpls_saps_table.php index 8f78c3dc24..f5b7b1e272 100644 --- a/database/migrations/2019_07_03_132417_create_mpls_saps_table.php +++ b/database/migrations/2019_07_03_132417_create_mpls_saps_table.php @@ -19,7 +19,7 @@ class CreateMplsSapsTable extends Migration $table->unsignedInteger('svc_oid'); $table->unsignedInteger('sapPortId'); $table->string('ifName', 255)->nullable(); - $table->unsignedInteger('device_id')->index('device_id'); + $table->unsignedInteger('device_id')->index(); $table->string('sapEncapValue', 255)->nullable(); $table->enum('sapRowStatus', array('active', 'notInService', 'notReady', 'createAndGo', 'createAndWait', 'destroy'))->nullable(); $table->enum('sapType', array('unknown', 'epipe', 'tls', 'vprn', 'ies', 'mirror', 'apipe', 'fpipe', 'ipipe', 'cpipe', 'intTls', 'evpnIsaTls'))->nullable(); diff --git a/database/migrations/2019_11_30_191013_create_mpls_tunnel_ar_hops_table.php b/database/migrations/2019_11_30_191013_create_mpls_tunnel_ar_hops_table.php index 32269fd707..6bb5737ea7 100644 --- a/database/migrations/2019_11_30_191013_create_mpls_tunnel_ar_hops_table.php +++ b/database/migrations/2019_11_30_191013_create_mpls_tunnel_ar_hops_table.php @@ -17,7 +17,7 @@ class CreateMplsTunnelArHopsTable extends Migration $table->increments('ar_hop_id'); $table->unsignedInteger('mplsTunnelARHopListIndex'); $table->unsignedInteger('mplsTunnelARHopIndex'); - $table->unsignedInteger('device_id')->index('device_id'); + $table->unsignedInteger('device_id')->index(); $table->unsignedInteger('lsp_path_id'); $table->enum('mplsTunnelARHopAddrType', array('unknown','ipV4','ipV6','asNumber','lspid','unnum'))->nullable(); $table->string('mplsTunnelARHopIpv4Addr', 15)->nullable(); diff --git a/database/migrations/2019_11_30_191013_create_mpls_tunnel_c_hops_table.php b/database/migrations/2019_11_30_191013_create_mpls_tunnel_c_hops_table.php index 2cc78d5369..b8b133243e 100644 --- a/database/migrations/2019_11_30_191013_create_mpls_tunnel_c_hops_table.php +++ b/database/migrations/2019_11_30_191013_create_mpls_tunnel_c_hops_table.php @@ -17,7 +17,7 @@ class CreateMplsTunnelCHopsTable extends Migration $table->increments('c_hop_id'); $table->unsignedInteger('mplsTunnelCHopListIndex'); $table->unsignedInteger('mplsTunnelCHopIndex'); - $table->unsignedInteger('device_id')->index('device_id'); + $table->unsignedInteger('device_id')->index(); $table->unsignedInteger('lsp_path_id')->nullable(); $table->enum('mplsTunnelCHopAddrType', array('unknown','ipV4','ipV6','asNumber','lspid','unnum'))->nullable(); $table->string('mplsTunnelCHopIpv4Addr', 15)->nullable(); diff --git a/database/migrations/2019_12_05_164700_alerts_disable_on_update_current_timestamp.php b/database/migrations/2019_12_05_164700_alerts_disable_on_update_current_timestamp.php index 67f2a710e7..cfebc11e86 100644 --- a/database/migrations/2019_12_05_164700_alerts_disable_on_update_current_timestamp.php +++ b/database/migrations/2019_12_05_164700_alerts_disable_on_update_current_timestamp.php @@ -13,7 +13,11 @@ class AlertsDisableOnUpdateCurrentTimestamp extends Migration */ public function up() { - \DB::statement("ALTER TABLE `alerts` CHANGE `timestamp` `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP;"); + if (\LibreNMS\DB\Eloquent::getDriver() == 'mysql') { + Schema::table('alerts', function (Blueprint $table) { + \DB::statement("ALTER TABLE `alerts` CHANGE `timestamp` `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP;"); + }); + } } /** @@ -23,6 +27,10 @@ class AlertsDisableOnUpdateCurrentTimestamp extends Migration */ public function down() { - \DB::statement("ALTER TABLE `alerts` CHANGE `timestamp` `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP;"); + if (\LibreNMS\DB\Eloquent::getDriver() == 'mysql') { + Schema::table('alerts', function (Blueprint $table) { + \DB::statement("ALTER TABLE `alerts` CHANGE `timestamp` `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP;"); + }); + } } } diff --git a/database/migrations/2019_12_16_140000_create_customoids_table.php b/database/migrations/2019_12_16_140000_create_customoids_table.php index 1d60be4096..22dacdff49 100644 --- a/database/migrations/2019_12_16_140000_create_customoids_table.php +++ b/database/migrations/2019_12_16_140000_create_customoids_table.php @@ -31,7 +31,11 @@ class CreateCustomoidsTable extends Migration $table->double('customoid_limit_low_warn')->nullable(); $table->tinyInteger('customoid_alert')->default(0); $table->tinyInteger('customoid_passed')->default(0); - $table->timestamp('lastupdate')->default(DB::raw('CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP')); + if (\LibreNMS\DB\Eloquent::getDriver() == 'mysql') { + $table->timestamp('lastupdate')->default(DB::raw('CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP')); + } else { + $table->timestamp('lastupdate')->useCurrent(); + } $table->string('user_func', 100)->nullable(); }); } diff --git a/database/migrations/2020_01_09_1300_migrate_devices_attribs_table.php b/database/migrations/2020_01_09_1300_migrate_devices_attribs_table.php index 66aac16c1e..3ff369ada8 100644 --- a/database/migrations/2020_01_09_1300_migrate_devices_attribs_table.php +++ b/database/migrations/2020_01_09_1300_migrate_devices_attribs_table.php @@ -16,9 +16,11 @@ class MigrateDevicesAttribsTable extends Migration Schema::table('devices', function (Blueprint $table) { $table->boolean('disable_notify')->default(0); }); + // migrate disable_notify data into devices table - \DB::statement("UPDATE devices d, devices_attribs da SET d.disable_notify=1 WHERE da.attrib_type='disable_notify' AND da.attrib_value=1 AND d.device_id = da.device_id;"); - \DB::statement("DELETE FROM devices_attribs WHERE attrib_type='disable_notify' AND attrib_value=1;"); + $devices = DB::table('devices_attribs')->where('attrib_type', 'disable_notify')->where('attrib_value', 1)->pluck('device_id'); + DB::table('devices')->whereIn('device_id', $devices)->update(['disable_notify' => 1]); + DB::table('devices_attribs')->where('attrib_type', 'disable_notify')->delete(); } /** @@ -29,7 +31,15 @@ class MigrateDevicesAttribsTable extends Migration public function down() { // revert migrate disable_notify data into devices table - \DB::statement("INSERT INTO devices_attribs (device_id, attrib_type, attrib_value) SELECT DISTINCT d.device_id, 'disable_notify', 1 FROM devices_attribs da INNER JOIN devices d WHERE d.device_id = da.device_id AND d.disable_notify=1;"); + $attribs = DB::table('devices')->where('disable_notify', 1)->pluck('device_id')->map(function ($device_id) { + return [ + 'device_id' => $device_id, + 'attrib_type' => 'disable_notify', + 'attrib_value' => 1, + ]; + }); + DB::table('device_attribs')->insert($attribs->all()); + Schema::table('devices', function (Blueprint $table) { $table->dropColumn('disable_notify'); }); diff --git a/database/migrations/2020_02_05_093457_add_inserted_to_devices.php b/database/migrations/2020_02_05_093457_add_inserted_to_devices.php index 69d4a8b18b..1093293c65 100644 --- a/database/migrations/2020_02_05_093457_add_inserted_to_devices.php +++ b/database/migrations/2020_02_05_093457_add_inserted_to_devices.php @@ -15,7 +15,7 @@ class AddInsertedToDevices extends Migration { Schema::table('devices', function (Blueprint $table) { // add inserted column after device id with a default of current_timestamp - $table->timestamp('inserted')->default(DB::raw('CURRENT_TIMESTAMP'))->after('device_id'); + $table->timestamp('inserted')->nullable()->default(null)->after('device_id'); }); } diff --git a/database/migrations/2020_02_05_224042_device_inserted_null.php b/database/migrations/2020_02_05_224042_device_inserted_null.php index d2c5265b28..68037325cf 100644 --- a/database/migrations/2020_02_05_224042_device_inserted_null.php +++ b/database/migrations/2020_02_05_224042_device_inserted_null.php @@ -14,10 +14,14 @@ class DeviceInsertedNull extends Migration public function up() { Schema::table('devices', function (Blueprint $table) { - // inserted column will not default null to CURRENT_TIMESTAMP - \DB::statement("alter table `devices` change `inserted` `inserted` timestamp NULL default CURRENT_TIMESTAMP;"); - \DB::statement("update `devices` set `inserted`=NULL;"); // set all existing (legacy) rows to null + if (\LibreNMS\DB\Eloquent::getDriver() == 'mysql') { + \DB::statement("ALTER TABLE `devices` CHANGE `inserted` `inserted` TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP;"); + } else { + $table->dateTime('inserted')->nullable()->useCurrent()->change(); + } }); + + DB::table('devices')->update(['inserted' => null]); } /** @@ -27,10 +31,5 @@ class DeviceInsertedNull extends Migration */ public function down() { - Schema::table('devices', function (Blueprint $table) { - // inserted column will default null to CURRENT_TIMESTAMP - \DB::statement("alter table `devices` change `inserted` `inserted` timestamp default CURRENT_TIMESTAMP;"); - \DB::statement("update `devices` set `inserted`=NULL"); // timestamp all existing (legacy) rows to now() - }); } } diff --git a/database/migrations/2020_03_24_0844_add_primary_key_to_device_graphs.php b/database/migrations/2020_03_24_0844_add_primary_key_to_device_graphs.php index d543c9c618..13738a2b9d 100644 --- a/database/migrations/2020_03_24_0844_add_primary_key_to_device_graphs.php +++ b/database/migrations/2020_03_24_0844_add_primary_key_to_device_graphs.php @@ -20,9 +20,11 @@ class AddPrimaryKeyToDeviceGraphs extends Migration */ public function up() { - Schema::table('device_graphs', function (Blueprint $table) { - $table->bigIncrements('id'); - }); + if (!Schema::hasColumn('device_graphs', 'id')) { + Schema::table('device_graphs', function (Blueprint $table) { + $table->bigIncrements('id')->first(); + }); + } } /** @@ -32,8 +34,5 @@ class AddPrimaryKeyToDeviceGraphs extends Migration */ public function down() { - Schema::table('device_graphs', function (Blueprint $table) { - $table->dropColumn('id'); - }); } } diff --git a/database/migrations/2020_03_25_165300_add_column_to_ports.php b/database/migrations/2020_03_25_165300_add_column_to_ports.php index 4a1b17b1cf..f4c589c78e 100644 --- a/database/migrations/2020_03_25_165300_add_column_to_ports.php +++ b/database/migrations/2020_03_25_165300_add_column_to_ports.php @@ -26,8 +26,7 @@ class AddColumnToPorts extends Migration public function down() { Schema::table('ports', function (Blueprint $table) { - $table->dropColumn('ifSpeed_prev'); - $table->dropColumn('ifHighSpeed_prev'); + $table->dropColumn(['ifSpeed_prev', 'ifHighSpeed_prev']); }); } } diff --git a/database/migrations/2020_04_06_001048_the_great_index_rename.php b/database/migrations/2020_04_06_001048_the_great_index_rename.php new file mode 100644 index 0000000000..1edd2aec02 --- /dev/null +++ b/database/migrations/2020_04_06_001048_the_great_index_rename.php @@ -0,0 +1,170 @@ +indexExists('wireless_sensors', 'wireless_sensors_sensor_type_index')) { + DB::statement('ALTER TABLE access_points DROP INDEX deleted, ADD INDEX access_points_deleted_index(deleted);'); + DB::statement('ALTER TABLE alerts DROP INDEX device_id, ADD INDEX alerts_device_id_index(device_id);'); + DB::statement('ALTER TABLE alerts DROP INDEX rule_id, ADD UNIQUE INDEX alerts_device_id_rule_id_unique(device_id, rule_id);'); + DB::statement('ALTER TABLE alerts DROP INDEX unique_alert, ADD INDEX alerts_rule_id_index(rule_id);'); + DB::statement('ALTER TABLE alert_device_map DROP INDEX alert_device_map_rule_id_device_id_uindex, ADD UNIQUE INDEX alert_device_map_rule_id_device_id_unique(rule_id, device_id);'); + DB::statement('ALTER TABLE alert_group_map DROP INDEX alert_group_map_rule_id_group_id_uindex, ADD UNIQUE INDEX alert_group_map_rule_id_group_id_unique(rule_id, group_id);'); + DB::statement('ALTER TABLE alert_log DROP INDEX device_id, ADD INDEX alert_log_device_id_index(device_id);'); + DB::statement('ALTER TABLE alert_log DROP INDEX rule_id, ADD INDEX alert_log_rule_id_index(rule_id);'); + DB::statement('ALTER TABLE alert_log DROP INDEX time_logged, ADD INDEX alert_log_time_logged_index(time_logged);'); + DB::statement('ALTER TABLE alert_rules DROP INDEX name, ADD UNIQUE INDEX alert_rules_name_unique(name);'); + DB::statement('ALTER TABLE alert_schedulables DROP INDEX schedule_id, ADD INDEX alert_schedulables_schedule_id_index(schedule_id);'); + DB::statement('ALTER TABLE api_tokens DROP INDEX token_hash, ADD UNIQUE INDEX api_tokens_token_hash_unique(token_hash);'); + DB::statement('ALTER TABLE applications DROP INDEX unique_index, ADD UNIQUE INDEX applications_device_id_app_type_unique(device_id, app_type);'); + DB::statement('ALTER TABLE application_metrics DROP INDEX application_metrics_app_id_metric_uindex, ADD UNIQUE INDEX application_metrics_app_id_metric_unique(app_id, metric);'); + DB::statement('ALTER TABLE bgpPeers DROP INDEX device_id, ADD INDEX bgppeers_device_id_context_name_index(device_id, context_name);'); + DB::statement('ALTER TABLE bgpPeers_cbgp DROP INDEX unique_index, ADD UNIQUE INDEX bgppeers_cbgp_device_id_bgppeeridentifier_afi_safi_unique(device_id, bgpPeerIdentifier, afi, safi);'); + DB::statement('ALTER TABLE bgpPeers_cbgp DROP INDEX device_id, ADD INDEX bgppeers_cbgp_device_id_bgppeeridentifier_context_name_index(device_id, bgpPeerIdentifier, context_name);'); + DB::statement('ALTER TABLE bill_data DROP INDEX bill_id, ADD INDEX bill_data_bill_id_index(bill_id);'); + DB::statement('ALTER TABLE bill_history DROP INDEX unique_index, ADD UNIQUE INDEX bill_history_bill_id_bill_datefrom_bill_dateto_unique(bill_id, bill_datefrom, bill_dateto);'); + DB::statement('ALTER TABLE bill_history DROP INDEX bill_id, ADD INDEX bill_history_bill_id_index(bill_id);'); + DB::statement('ALTER TABLE cef_switching DROP INDEX device_id, ADD UNIQUE INDEX cef_switching_device_id_entphysicalindex_afi_cef_index_unique(device_id, entPhysicalIndex, afi, cef_index);'); + DB::statement('ALTER TABLE ciscoASA DROP INDEX device_id, ADD INDEX ciscoasa_device_id_index(device_id);'); + DB::statement('ALTER TABLE component DROP INDEX device, ADD INDEX component_device_id_index(device_id);'); + DB::statement('ALTER TABLE component DROP INDEX type, ADD INDEX component_type_index(type);'); + DB::statement('ALTER TABLE component_prefs DROP INDEX component, ADD INDEX component_prefs_component_index(component);'); + DB::statement('ALTER TABLE component_statuslog DROP INDEX device, ADD INDEX component_statuslog_component_id_index(component_id);'); + DB::statement('ALTER TABLE config DROP INDEX uniqueindex_configname, ADD UNIQUE INDEX config_config_name_unique(config_name);'); + DB::statement('ALTER TABLE customers DROP INDEX username, ADD UNIQUE INDEX customers_username_unique(username);'); + DB::statement('ALTER TABLE devices DROP INDEX hostname, ADD INDEX devices_hostname_index(hostname);'); + DB::statement('ALTER TABLE devices DROP INDEX last_poll_attempted, ADD INDEX devices_last_poll_attempted_index(last_poll_attempted);'); + DB::statement('ALTER TABLE devices DROP INDEX last_polled, ADD INDEX devices_last_polled_index(last_polled);'); + DB::statement('ALTER TABLE devices DROP INDEX os, ADD INDEX devices_os_index(os);'); + DB::statement('ALTER TABLE devices DROP INDEX status, ADD INDEX devices_status_index(status);'); + DB::statement('ALTER TABLE devices DROP INDEX sysName, ADD INDEX devices_sysname_index(sysName);'); + DB::statement('ALTER TABLE devices_attribs DROP INDEX device_id, ADD INDEX devices_attribs_device_id_index(device_id);'); + DB::statement('ALTER TABLE devices_perms DROP INDEX user_id, ADD INDEX devices_perms_user_id_index(user_id);'); + DB::statement('ALTER TABLE device_graphs DROP INDEX device_id, ADD INDEX device_graphs_device_id_index(device_id);'); + DB::statement('ALTER TABLE device_groups DROP INDEX name, ADD UNIQUE INDEX device_groups_name_unique(name);'); + DB::statement('ALTER TABLE device_perf DROP INDEX device_id, ADD INDEX device_perf_device_id_index(device_id);'); + DB::statement('ALTER TABLE device_relationships DROP INDEX device_relationship_child_device_id_fk, ADD INDEX device_relationships_child_device_id_index(child_device_id);'); + DB::statement('ALTER TABLE entPhysical DROP INDEX device_id, ADD INDEX entphysical_device_id_index(device_id);'); + DB::statement('ALTER TABLE eventlog DROP INDEX datetime, ADD INDEX eventlog_datetime_index(datetime);'); + DB::statement('ALTER TABLE eventlog DROP INDEX device_id, ADD INDEX eventlog_device_id_index(device_id);'); + Schema::table('entityState', function (Blueprint $table) { + // must be dropped and re-added because of case insensitivity + $table->dropIndex('entityState_device_id_index'); + $table->index('device_id'); + }); + DB::statement('ALTER TABLE graph_types DROP INDEX graph_section, ADD INDEX graph_types_graph_section_index(graph_section);'); + DB::statement('ALTER TABLE graph_types DROP INDEX graph_subtype, ADD INDEX graph_types_graph_subtype_index(graph_subtype);'); + DB::statement('ALTER TABLE graph_types DROP INDEX graph_type, ADD INDEX graph_types_graph_type_index(graph_type);'); + DB::statement('ALTER TABLE hrDevice DROP INDEX device_id, ADD INDEX hrdevice_device_id_index(device_id);'); + DB::statement('ALTER TABLE ipsec_tunnels DROP INDEX unique_index, ADD UNIQUE INDEX ipsec_tunnels_device_id_peer_addr_unique(device_id, peer_addr);'); + DB::statement('ALTER TABLE ipv4_addresses DROP INDEX interface_id, ADD INDEX ipv4_addresses_port_id_index(port_id);'); + DB::statement('ALTER TABLE ipv4_mac DROP INDEX mac_address, ADD INDEX ipv4_mac_mac_address_index(mac_address);'); + DB::statement('ALTER TABLE ipv4_mac DROP INDEX port_id, ADD INDEX ipv4_mac_port_id_index(port_id);'); + DB::statement('ALTER TABLE ipv6_addresses DROP INDEX interface_id, ADD INDEX ipv6_addresses_port_id_index(port_id);'); + DB::statement('ALTER TABLE juniAtmVp DROP INDEX port_id, ADD INDEX juniatmvp_port_id_index(port_id);'); + DB::statement('ALTER TABLE links DROP INDEX src_if, ADD INDEX links_local_port_id_index(local_port_id);'); + DB::statement('ALTER TABLE links DROP INDEX dst_if, ADD INDEX links_remote_port_id_index(remote_port_id);'); + DB::statement('ALTER TABLE loadbalancer_vservers DROP INDEX device_id, ADD INDEX loadbalancer_vservers_device_id_index(device_id);'); + DB::statement('ALTER TABLE locations DROP INDEX locations_location_uindex, ADD UNIQUE INDEX locations_location_unique(location);'); + DB::statement('ALTER TABLE mac_accounting DROP INDEX interface_id, ADD INDEX mac_accounting_port_id_index(port_id);'); + DB::statement('ALTER TABLE mac_accounting DROP INDEX interface_id_2;'); + DB::statement('ALTER TABLE mefinfo DROP INDEX device_id, ADD INDEX mefinfo_device_id_index(device_id);'); + DB::statement('ALTER TABLE mefinfo DROP INDEX mefID, ADD INDEX mefinfo_mefid_index(mefID);'); + DB::statement('ALTER TABLE mempools DROP INDEX device_id, ADD INDEX mempools_device_id_index(device_id);'); + DB::statement('ALTER TABLE mpls_lsps DROP INDEX device_id, ADD INDEX mpls_lsps_device_id_index(device_id);'); + DB::statement('ALTER TABLE mpls_lsp_paths DROP INDEX device_id, ADD INDEX mpls_lsp_paths_device_id_index(device_id);'); + DB::statement('ALTER TABLE mpls_saps DROP INDEX device_id, ADD INDEX mpls_saps_device_id_index(device_id);'); + DB::statement('ALTER TABLE mpls_sdps DROP INDEX device_id, ADD INDEX mpls_sdps_device_id_index(device_id);'); + DB::statement('ALTER TABLE mpls_sdp_binds DROP INDEX device_id, ADD INDEX mpls_sdp_binds_device_id_index(device_id);'); + DB::statement('ALTER TABLE mpls_services DROP INDEX device_id, ADD INDEX mpls_services_device_id_index(device_id);'); + DB::statement('ALTER TABLE mpls_tunnel_ar_hops DROP INDEX device_id, ADD INDEX mpls_tunnel_ar_hops_device_id_index(device_id);'); + DB::statement('ALTER TABLE mpls_tunnel_c_hops DROP INDEX device_id, ADD INDEX mpls_tunnel_c_hops_device_id_index(device_id);'); + DB::statement('ALTER TABLE munin_plugins DROP INDEX device_id, ADD INDEX munin_plugins_device_id_index(device_id);'); + DB::statement('ALTER TABLE munin_plugins DROP INDEX `UNIQUE`, ADD UNIQUE INDEX munin_plugins_device_id_mplug_type_unique(device_id, mplug_type);'); + DB::statement('ALTER TABLE munin_plugins_ds DROP INDEX splug_id, ADD UNIQUE INDEX munin_plugins_ds_mplug_id_ds_name_unique(mplug_id, ds_name);'); + DB::statement('ALTER TABLE notifications DROP INDEX checksum, ADD UNIQUE INDEX notifications_checksum_unique(checksum);'); + DB::statement('ALTER TABLE ospf_areas DROP INDEX device_area, ADD UNIQUE INDEX ospf_areas_device_id_ospfareaid_context_name_unique(device_id, ospfAreaId, context_name);'); + DB::statement('ALTER TABLE ospf_instances DROP INDEX device_id, ADD UNIQUE INDEX ospf_instances_device_id_ospf_instance_id_context_name_unique(device_id, ospf_instance_id, context_name);'); + DB::statement('ALTER TABLE ospf_nbrs DROP INDEX device_id, ADD UNIQUE INDEX ospf_nbrs_device_id_ospf_nbr_id_context_name_unique(device_id, ospf_nbr_id, context_name);'); + DB::statement('ALTER TABLE ospf_ports DROP INDEX device_id, ADD UNIQUE INDEX ospf_ports_device_id_ospf_port_id_context_name_unique(device_id, ospf_port_id, context_name);'); + DB::statement('ALTER TABLE packages DROP INDEX device_id, ADD INDEX packages_device_id_index(device_id);'); + DB::statement('ALTER TABLE packages DROP INDEX unique_key, ADD UNIQUE INDEX packages_device_id_name_manager_arch_version_build_unique(device_id, name, manager, arch, version, build);'); + DB::statement('ALTER TABLE perf_times DROP INDEX type, ADD INDEX perf_times_type_index(type);'); + DB::statement('ALTER TABLE pollers DROP INDEX poller_name, ADD UNIQUE INDEX pollers_poller_name_unique(poller_name);'); + DB::statement('ALTER TABLE poller_cluster_stats DROP INDEX parent_poller_poller_type, ADD UNIQUE INDEX poller_cluster_stats_parent_poller_poller_type_unique(parent_poller, poller_type);'); + DB::statement('ALTER TABLE ports DROP INDEX device_ifIndex, ADD UNIQUE INDEX ports_device_id_ifindex_unique(device_id, ifIndex);'); + DB::statement('ALTER TABLE ports DROP INDEX if_2, ADD INDEX ports_ifdescr_index(ifDescr);'); + DB::statement('ALTER TABLE ports_adsl DROP INDEX interface_id, ADD UNIQUE INDEX ports_adsl_port_id_unique(port_id);'); + DB::statement('ALTER TABLE ports_fdb DROP INDEX mac_address, ADD INDEX ports_fdb_mac_address_index(mac_address);'); + DB::statement('ALTER TABLE ports_stack DROP INDEX device_id, ADD UNIQUE INDEX ports_stack_device_id_port_id_high_port_id_low_unique(device_id, port_id_high, port_id_low);'); + DB::statement('ALTER TABLE ports_stp DROP INDEX device_id, ADD UNIQUE INDEX ports_stp_device_id_port_id_unique(device_id, port_id);'); + DB::statement('ALTER TABLE ports_vlans DROP INDEX `unique`, ADD UNIQUE INDEX ports_vlans_device_id_port_id_vlan_unique(device_id, port_id, vlan);'); + DB::statement('ALTER TABLE processes DROP INDEX device_id, ADD INDEX processes_device_id_index(device_id);'); + DB::statement('ALTER TABLE processors DROP INDEX device_id, ADD INDEX processors_device_id_index(device_id);'); + DB::statement('ALTER TABLE proxmox DROP INDEX cluster_vm, ADD UNIQUE INDEX proxmox_cluster_vmid_unique(cluster, vmid);'); + DB::statement('ALTER TABLE proxmox_ports DROP INDEX vm_port, ADD UNIQUE INDEX proxmox_ports_vm_id_port_unique(vm_id, port);'); + DB::statement('ALTER TABLE sensors DROP INDEX sensor_host, ADD INDEX sensors_device_id_index(device_id);'); + DB::statement('ALTER TABLE sensors DROP INDEX sensor_class, ADD INDEX sensors_sensor_class_index(sensor_class);'); + DB::statement('ALTER TABLE sensors DROP INDEX sensor_type, ADD INDEX sensors_sensor_type_index(sensor_type);'); + DB::statement('ALTER TABLE sensors_to_state_indexes DROP INDEX sensor_id_state_index_id, ADD UNIQUE INDEX sensors_to_state_indexes_sensor_id_state_index_id_unique(sensor_id, state_index_id);'); + DB::statement('ALTER TABLE sensors_to_state_indexes DROP INDEX state_index_id, ADD INDEX sensors_to_state_indexes_state_index_id_index(state_index_id);'); + DB::statement('ALTER TABLE services DROP INDEX service_host, ADD INDEX services_device_id_index(device_id);'); + DB::statement('ALTER TABLE session DROP INDEX session_value, ADD UNIQUE INDEX session_session_value_unique(session_value);'); + DB::statement('ALTER TABLE slas DROP INDEX device_id, ADD INDEX slas_device_id_index(device_id);'); + DB::statement('ALTER TABLE slas DROP INDEX unique_key, ADD UNIQUE INDEX slas_device_id_sla_nr_unique(device_id, sla_nr);'); + DB::statement('ALTER TABLE state_indexes DROP INDEX state_name, ADD UNIQUE INDEX state_indexes_state_name_unique(state_name);'); + DB::statement('ALTER TABLE state_translations DROP INDEX state_index_id_value, ADD UNIQUE INDEX state_translations_state_index_id_state_value_unique(state_index_id, state_value);'); + DB::statement('ALTER TABLE storage DROP INDEX device_id, ADD INDEX storage_device_id_index(device_id);'); + DB::statement('ALTER TABLE storage DROP INDEX index_unique, ADD UNIQUE INDEX storage_device_id_storage_mib_storage_index_unique(device_id, storage_mib, storage_index);'); + DB::statement('ALTER TABLE stp DROP INDEX stp_host, ADD INDEX stp_device_id_index(device_id);'); + DB::statement('ALTER TABLE syslog DROP INDEX device_id, ADD INDEX syslog_device_id_index(device_id);'); + DB::statement('ALTER TABLE syslog DROP INDEX program, ADD INDEX syslog_program_index(program);'); + DB::statement('ALTER TABLE syslog DROP INDEX datetime, ADD INDEX syslog_timestamp_index(timestamp);'); + DB::statement('ALTER TABLE syslog DROP INDEX `device_id-timestamp`, ADD INDEX syslog_device_id_timestamp_index(device_id, timestamp);'); + DB::statement('ALTER TABLE syslog DROP INDEX priority_level, ADD INDEX syslog_priority_level_index(priority, level);'); + DB::statement('ALTER TABLE tnmsneinfo DROP INDEX device_id, ADD INDEX tnmsneinfo_device_id_index(device_id);'); + DB::statement('ALTER TABLE tnmsneinfo DROP INDEX neID, ADD INDEX tnmsneinfo_neid_index(neID);'); + DB::statement('ALTER TABLE toner DROP INDEX device_id, ADD INDEX toner_device_id_index(device_id);'); + DB::statement('ALTER TABLE ucd_diskio DROP INDEX device_id, ADD INDEX ucd_diskio_device_id_index(device_id);'); + DB::statement('ALTER TABLE users DROP INDEX username, ADD UNIQUE INDEX users_auth_type_username_unique(auth_type, username);'); + DB::statement('ALTER TABLE vminfo DROP INDEX device_id, ADD INDEX vminfo_device_id_index(device_id);'); + DB::statement('ALTER TABLE vminfo DROP INDEX vmwVmVMID, ADD INDEX vminfo_vmwvmvmid_index(vmwVmVMID);'); + DB::statement('ALTER TABLE vrfs DROP INDEX device_id, ADD INDEX vrfs_device_id_index(device_id);'); + DB::statement('ALTER TABLE vrf_lite_cisco DROP INDEX context, ADD INDEX vrf_lite_cisco_context_name_index(context_name);'); + DB::statement('ALTER TABLE vrf_lite_cisco DROP INDEX mix, ADD INDEX vrf_lite_cisco_device_id_context_name_vrf_name_index(device_id, context_name, vrf_name);'); + DB::statement('ALTER TABLE vrf_lite_cisco DROP INDEX device, ADD INDEX vrf_lite_cisco_device_id_index(device_id);'); + DB::statement('ALTER TABLE vrf_lite_cisco DROP INDEX vrf, ADD INDEX vrf_lite_cisco_vrf_name_index(vrf_name);'); + DB::statement('ALTER TABLE widgets DROP INDEX widget, ADD UNIQUE INDEX widgets_widget_unique(widget);'); + DB::statement('ALTER TABLE wireless_sensors DROP INDEX sensor_host, ADD INDEX wireless_sensors_device_id_index(device_id);'); + DB::statement('ALTER TABLE wireless_sensors DROP INDEX sensor_class, ADD INDEX wireless_sensors_sensor_class_index(sensor_class);'); + DB::statement('ALTER TABLE wireless_sensors DROP INDEX sensor_type, ADD INDEX wireless_sensors_sensor_type_index(sensor_type);'); + } + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } + + private function indexExists($table, $name) + { + $indexes = Schema::getConnection()->getDoctrineSchemaManager()->listTableIndexes($table); + return array_key_exists($name, $indexes); + } +} diff --git a/includes/functions.php b/includes/functions.php index eaf433aff7..3aac01619b 100644 --- a/includes/functions.php +++ b/includes/functions.php @@ -2225,49 +2225,55 @@ function cache_peeringdb() * Each entry in the Columns array contains these keys: Field, Type, Null, Default, Extra * Each entry in the Indexes array contains these keys: Name, Columns(array), Unique * + * @param string $connection use a specific connection * @return array */ -function dump_db_schema() +function dump_db_schema($connection = null) { $output = []; - $db_name = dbFetchCell('SELECT DATABASE()'); + $db_name = DB::connection($connection)->getDatabaseName(); - foreach (dbFetchRows("SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = '$db_name' ORDER BY TABLE_NAME;") as $table) { - $table = $table['TABLE_NAME']; - foreach (dbFetchRows("SELECT COLUMN_NAME, COLUMN_TYPE, IS_NULLABLE, COLUMN_DEFAULT, EXTRA FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = '$db_name' AND TABLE_NAME='$table'") as $data) { + foreach (DB::connection($connection)->select(DB::raw("SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = '$db_name' ORDER BY TABLE_NAME;")) as $table) { + $table = $table->TABLE_NAME; + foreach (DB::connection($connection)->select(DB::raw("SELECT COLUMN_NAME, COLUMN_TYPE, IS_NULLABLE, COLUMN_DEFAULT, EXTRA FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = '$db_name' AND TABLE_NAME='$table'")) as $data) { $def = [ - 'Field' => $data['COLUMN_NAME'], - 'Type' => $data['COLUMN_TYPE'], - 'Null' => $data['IS_NULLABLE'] === 'YES', - 'Extra' => str_replace('current_timestamp()', 'CURRENT_TIMESTAMP', $data['EXTRA']), + 'Field' => $data->COLUMN_NAME, + 'Type' => $data->COLUMN_TYPE, + 'Null' => $data->IS_NULLABLE === 'YES', + 'Extra' => str_replace('current_timestamp()', 'CURRENT_TIMESTAMP', $data->EXTRA), ]; - if (isset($data['COLUMN_DEFAULT']) && $data['COLUMN_DEFAULT'] != 'NULL') { - $default = trim($data['COLUMN_DEFAULT'], "'"); + if (isset($data->COLUMN_DEFAULT) && $data->COLUMN_DEFAULT != 'NULL') { + $default = trim($data->COLUMN_DEFAULT, "'"); $def['Default'] = str_replace('current_timestamp()', 'CURRENT_TIMESTAMP', $default); } $output[$table]['Columns'][] = $def; } - foreach (array_sort_by_column(dbFetchRows("SHOW INDEX FROM `$table`"), 'Key_name') as $key) { - $key_name = $key['Key_name']; + $keys = DB::connection($connection)->select(DB::raw("SHOW INDEX FROM `$table`")); + usort($keys, function ($a, $b) { + return $a->Key_name <=> $b->Key_name; + }); + foreach ($keys as $key) { + $key_name = $key->Key_name; if (isset($output[$table]['Indexes'][$key_name])) { - $output[$table]['Indexes'][$key_name]['Columns'][] = $key['Column_name']; + $output[$table]['Indexes'][$key_name]['Columns'][] = $key->Column_name; } else { $output[$table]['Indexes'][$key_name] = [ - 'Name' => $key['Key_name'], - 'Columns' => [$key['Column_name']], - 'Unique' => !$key['Non_unique'], - 'Type' => $key['Index_type'], + 'Name' => $key->Key_name, + 'Columns' => [$key->Column_name], + 'Unique' => !$key->Non_unique, + 'Type' => $key->Index_type, ]; } } - $create = dbFetchRow("SHOW CREATE TABLE `$table`"); - if (isset($create['Create Table'])) { + $create = DB::connection($connection)->select(DB::raw("SHOW CREATE TABLE `$table`"))[0]; + + if (isset($create->{'Create Table'})) { $constraint_regex = '/CONSTRAINT `(?[A-Za-z_0-9]+)` FOREIGN KEY \(`(?[A-Za-z_0-9]+)`\) REFERENCES `(?[A-Za-z_0-9]+)` \(`(?[A-Za-z_0-9]+)`\) ?(?[ A-Z]+)?/'; - $constraint_count = preg_match_all($constraint_regex, $create['Create Table'], $constraints); + $constraint_count = preg_match_all($constraint_regex, $create->{'Create Table'}, $constraints); for ($i = 0; $i < $constraint_count; $i++) { $constraint_name = $constraints['name'][$i]; $output[$table]['Constraints'][$constraint_name] = [ @@ -2285,10 +2291,6 @@ function dump_db_schema() } - - - - /** * Get an array of the schema files. * schema_version => full_file_name diff --git a/misc/db_schema.yaml b/misc/db_schema.yaml index c93e0a954b..085fe6aab7 100644 --- a/misc/db_schema.yaml +++ b/misc/db_schema.yaml @@ -17,7 +17,7 @@ access_points: - { Field: interference, Type: 'tinyint(3) unsigned', 'Null': false, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [accesspoint_id], Unique: true, Type: BTREE } - deleted: { Name: deleted, Columns: [deleted], Unique: false, Type: BTREE } + access_points_deleted_index: { Name: access_points_deleted_index, Columns: [deleted], Unique: false, Type: BTREE } name: { Name: name, Columns: [name, radio_number], Unique: false, Type: BTREE } alerts: Columns: @@ -32,9 +32,9 @@ alerts: - { Field: info, Type: text, 'Null': false, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } - rule_id: { Name: rule_id, Columns: [rule_id], Unique: false, Type: BTREE } - unique_alert: { Name: unique_alert, Columns: [device_id, rule_id], Unique: true, Type: BTREE } + alerts_device_id_index: { Name: alerts_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } + alerts_device_id_rule_id_unique: { Name: alerts_device_id_rule_id_unique, Columns: [device_id, rule_id], Unique: true, Type: BTREE } + alerts_rule_id_index: { Name: alerts_rule_id_index, Columns: [rule_id], Unique: false, Type: BTREE } alert_device_map: Columns: - { Field: id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -42,7 +42,7 @@ alert_device_map: - { Field: device_id, Type: 'int(10) unsigned', 'Null': false, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [id], Unique: true, Type: BTREE } - alert_device_map_rule_id_device_id_uindex: { Name: alert_device_map_rule_id_device_id_uindex, Columns: [rule_id, device_id], Unique: true, Type: BTREE } + alert_device_map_rule_id_device_id_unique: { Name: alert_device_map_rule_id_device_id_unique, Columns: [rule_id, device_id], Unique: true, Type: BTREE } alert_group_map: Columns: - { Field: id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -50,7 +50,7 @@ alert_group_map: - { Field: group_id, Type: 'int(10) unsigned', 'Null': false, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [id], Unique: true, Type: BTREE } - alert_group_map_rule_id_group_id_uindex: { Name: alert_group_map_rule_id_group_id_uindex, Columns: [rule_id, group_id], Unique: true, Type: BTREE } + alert_group_map_rule_id_group_id_unique: { Name: alert_group_map_rule_id_group_id_unique, Columns: [rule_id, group_id], Unique: true, Type: BTREE } alert_location_map: Columns: - { Field: id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -69,9 +69,9 @@ alert_log: - { Field: time_logged, Type: timestamp, 'Null': false, Extra: '', Default: CURRENT_TIMESTAMP } Indexes: PRIMARY: { Name: PRIMARY, Columns: [id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } - rule_id: { Name: rule_id, Columns: [rule_id], Unique: false, Type: BTREE } - time_logged: { Name: time_logged, Columns: [time_logged], Unique: false, Type: BTREE } + alert_log_device_id_index: { Name: alert_log_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } + alert_log_rule_id_index: { Name: alert_log_rule_id_index, Columns: [rule_id], Unique: false, Type: BTREE } + alert_log_time_logged_index: { Name: alert_log_time_logged_index, Columns: [time_logged], Unique: false, Type: BTREE } alert_rules: Columns: - { Field: id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -86,7 +86,7 @@ alert_rules: - { Field: invert_map, Type: tinyint(1), 'Null': false, Extra: '', Default: '0' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [id], Unique: true, Type: BTREE } - name: { Name: name, Columns: [name], Unique: true, Type: BTREE } + alert_rules_name_unique: { Name: alert_rules_name_unique, Columns: [name], Unique: true, Type: BTREE } alert_schedulables: Columns: - { Field: item_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -95,8 +95,8 @@ alert_schedulables: - { Field: alert_schedulable_type, Type: varchar(255), 'Null': false, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [item_id], Unique: true, Type: BTREE } + alert_schedulables_schedule_id_index: { Name: alert_schedulables_schedule_id_index, Columns: [schedule_id], Unique: false, Type: BTREE } schedulable_morph_index: { Name: schedulable_morph_index, Columns: [alert_schedulable_type, alert_schedulable_id], Unique: false, Type: BTREE } - schedule_id: { Name: schedule_id, Columns: [schedule_id], Unique: false, Type: BTREE } alert_schedule: Columns: - { Field: schedule_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -161,7 +161,7 @@ api_tokens: - { Field: disabled, Type: tinyint(1), 'Null': false, Extra: '', Default: '0' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [id], Unique: true, Type: BTREE } - token_hash: { Name: token_hash, Columns: [token_hash], Unique: true, Type: BTREE } + api_tokens_token_hash_unique: { Name: api_tokens_token_hash_unique, Columns: [token_hash], Unique: true, Type: BTREE } applications: Columns: - { Field: app_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -175,7 +175,7 @@ applications: - { Field: app_instance, Type: varchar(255), 'Null': false, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [app_id], Unique: true, Type: BTREE } - unique_index: { Name: unique_index, Columns: [device_id, app_type], Unique: true, Type: BTREE } + applications_device_id_app_type_unique: { Name: applications_device_id_app_type_unique, Columns: [device_id, app_type], Unique: true, Type: BTREE } application_metrics: Columns: - { Field: app_id, Type: 'int(10) unsigned', 'Null': false, Extra: '' } @@ -183,7 +183,7 @@ application_metrics: - { Field: value, Type: double, 'Null': true, Extra: '' } - { Field: value_prev, Type: double, 'Null': true, Extra: '' } Indexes: - application_metrics_app_id_metric_uindex: { Name: application_metrics_app_id_metric_uindex, Columns: [app_id, metric], Unique: true, Type: BTREE } + application_metrics_app_id_metric_unique: { Name: application_metrics_app_id_metric_unique, Columns: [app_id, metric], Unique: true, Type: BTREE } authlog: Columns: - { Field: id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -218,7 +218,7 @@ bgpPeers: - { Field: context_name, Type: varchar(128), 'Null': true, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [bgpPeer_id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id, context_name], Unique: false, Type: BTREE } + bgppeers_device_id_context_name_index: { Name: bgppeers_device_id_context_name_index, Columns: [device_id, context_name], Unique: false, Type: BTREE } bgpPeers_cbgp: Columns: - { Field: device_id, Type: 'int(10) unsigned', 'Null': false, Extra: '' } @@ -245,8 +245,8 @@ bgpPeers_cbgp: - { Field: WithdrawnPrefixes_prev, Type: int(11), 'Null': false, Extra: '' } - { Field: context_name, Type: varchar(128), 'Null': true, Extra: '' } Indexes: - device_id: { Name: device_id, Columns: [device_id, bgpPeerIdentifier, context_name], Unique: false, Type: BTREE } - unique_index: { Name: unique_index, Columns: [device_id, bgpPeerIdentifier, afi, safi], Unique: true, Type: BTREE } + bgppeers_cbgp_device_id_bgppeeridentifier_afi_safi_unique: { Name: bgppeers_cbgp_device_id_bgppeeridentifier_afi_safi_unique, Columns: [device_id, bgpPeerIdentifier, afi, safi], Unique: true, Type: BTREE } + bgppeers_cbgp_device_id_bgppeeridentifier_context_name_index: { Name: bgppeers_cbgp_device_id_bgppeeridentifier_context_name_index, Columns: [device_id, bgpPeerIdentifier, context_name], Unique: false, Type: BTREE } bills: Columns: - { Field: bill_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -282,7 +282,7 @@ bill_data: - { Field: out_delta, Type: bigint(20), 'Null': false, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [bill_id, timestamp], Unique: true, Type: BTREE } - bill_id: { Name: bill_id, Columns: [bill_id], Unique: false, Type: BTREE } + bill_data_bill_id_index: { Name: bill_data_bill_id_index, Columns: [bill_id], Unique: false, Type: BTREE } bill_history: Columns: - { Field: bill_hist_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -308,8 +308,8 @@ bill_history: - { Field: pdf, Type: longblob, 'Null': true, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [bill_hist_id], Unique: true, Type: BTREE } - bill_id: { Name: bill_id, Columns: [bill_id], Unique: false, Type: BTREE } - unique_index: { Name: unique_index, Columns: [bill_id, bill_datefrom, bill_dateto], Unique: true, Type: BTREE } + bill_history_bill_id_bill_datefrom_bill_dateto_unique: { Name: bill_history_bill_id_bill_datefrom_bill_dateto_unique, Columns: [bill_id, bill_datefrom, bill_dateto], Unique: true, Type: BTREE } + bill_history_bill_id_index: { Name: bill_history_bill_id_index, Columns: [bill_id], Unique: false, Type: BTREE } bill_perms: Columns: - { Field: user_id, Type: 'int(10) unsigned', 'Null': false, Extra: '' } @@ -355,7 +355,7 @@ cef_switching: - { Field: updated_prev, Type: 'int(10) unsigned', 'Null': false, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [cef_switching_id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id, entPhysicalIndex, afi, cef_index], Unique: true, Type: BTREE } + cef_switching_device_id_entphysicalindex_afi_cef_index_unique: { Name: cef_switching_device_id_entphysicalindex_afi_cef_index_unique, Columns: [device_id, entPhysicalIndex, afi, cef_index], Unique: true, Type: BTREE } ciscoASA: Columns: - { Field: ciscoASA_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -367,7 +367,7 @@ ciscoASA: - { Field: disabled, Type: tinyint(4), 'Null': false, Extra: '', Default: '0' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [ciscoASA_id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } + ciscoasa_device_id_index: { Name: ciscoasa_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } component: Columns: - { Field: id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -380,8 +380,8 @@ component: - { Field: error, Type: varchar(255), 'Null': true, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [id], Unique: true, Type: BTREE } - device: { Name: device, Columns: [device_id], Unique: false, Type: BTREE } - type: { Name: type, Columns: [type], Unique: false, Type: BTREE } + component_device_id_index: { Name: component_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } + component_type_index: { Name: component_type_index, Columns: [type], Unique: false, Type: BTREE } component_prefs: Columns: - { Field: id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -390,7 +390,7 @@ component_prefs: - { Field: value, Type: text, 'Null': false, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [id], Unique: true, Type: BTREE } - component: { Name: component, Columns: [component], Unique: false, Type: BTREE } + component_prefs_component_index: { Name: component_prefs_component_index, Columns: [component], Unique: false, Type: BTREE } Constraints: component_prefs_ibfk_1: { name: component_prefs_ibfk_1, foreign_key: component, table: component, key: id, extra: 'ON DELETE CASCADE ON UPDATE CASCADE' } component_statuslog: @@ -402,7 +402,7 @@ component_statuslog: - { Field: timestamp, Type: timestamp, 'Null': false, Extra: '', Default: CURRENT_TIMESTAMP } Indexes: PRIMARY: { Name: PRIMARY, Columns: [id], Unique: true, Type: BTREE } - device: { Name: device, Columns: [component_id], Unique: false, Type: BTREE } + component_statuslog_component_id_index: { Name: component_statuslog_component_id_index, Columns: [component_id], Unique: false, Type: BTREE } Constraints: component_statuslog_ibfk_1: { name: component_statuslog_ibfk_1, foreign_key: component_id, table: component, key: id, extra: 'ON DELETE CASCADE ON UPDATE CASCADE' } config: @@ -412,7 +412,7 @@ config: - { Field: config_value, Type: varchar(512), 'Null': false, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [config_id], Unique: true, Type: BTREE } - uniqueindex_configname: { Name: uniqueindex_configname, Columns: [config_name], Unique: true, Type: BTREE } + config_config_name_unique: { Name: config_config_name_unique, Columns: [config_name], Unique: true, Type: BTREE } customers: Columns: - { Field: customer_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -422,7 +422,7 @@ customers: - { Field: level, Type: tinyint(4), 'Null': false, Extra: '', Default: '0' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [customer_id], Unique: true, Type: BTREE } - username: { Name: username, Columns: [username], Unique: true, Type: BTREE } + customers_username_unique: { Name: customers_username_unique, Columns: [username], Unique: true, Type: BTREE } customoids: Columns: - { Field: customoid_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -514,12 +514,12 @@ devices: - { Field: disable_notify, Type: tinyint(1), 'Null': false, Extra: '', Default: '0' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [device_id], Unique: true, Type: BTREE } - hostname: { Name: hostname, Columns: [hostname], Unique: false, Type: BTREE } - last_poll_attempted: { Name: last_poll_attempted, Columns: [last_poll_attempted], Unique: false, Type: BTREE } - last_polled: { Name: last_polled, Columns: [last_polled], Unique: false, Type: BTREE } - os: { Name: os, Columns: [os], Unique: false, Type: BTREE } - status: { Name: status, Columns: [status], Unique: false, Type: BTREE } - sysName: { Name: sysName, Columns: [sysName], Unique: false, Type: BTREE } + devices_hostname_index: { Name: devices_hostname_index, Columns: [hostname], Unique: false, Type: BTREE } + devices_last_poll_attempted_index: { Name: devices_last_poll_attempted_index, Columns: [last_poll_attempted], Unique: false, Type: BTREE } + devices_last_polled_index: { Name: devices_last_polled_index, Columns: [last_polled], Unique: false, Type: BTREE } + devices_os_index: { Name: devices_os_index, Columns: [os], Unique: false, Type: BTREE } + devices_status_index: { Name: devices_status_index, Columns: [status], Unique: false, Type: BTREE } + devices_sysname_index: { Name: devices_sysname_index, Columns: [sysName], Unique: false, Type: BTREE } devices_attribs: Columns: - { Field: attrib_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -529,7 +529,7 @@ devices_attribs: - { Field: updated, Type: timestamp, 'Null': false, Extra: 'on update CURRENT_TIMESTAMP', Default: CURRENT_TIMESTAMP } Indexes: PRIMARY: { Name: PRIMARY, Columns: [attrib_id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } + devices_attribs_device_id_index: { Name: devices_attribs_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } devices_group_perms: Columns: - { Field: user_id, Type: 'int(10) unsigned', 'Null': false, Extra: '' } @@ -543,15 +543,15 @@ devices_perms: - { Field: user_id, Type: 'int(10) unsigned', 'Null': false, Extra: '' } - { Field: device_id, Type: 'int(10) unsigned', 'Null': false, Extra: '' } Indexes: - user_id: { Name: user_id, Columns: [user_id], Unique: false, Type: BTREE } + devices_perms_user_id_index: { Name: devices_perms_user_id_index, Columns: [user_id], Unique: false, Type: BTREE } device_graphs: Columns: + - { Field: id, Type: 'bigint(20) unsigned', 'Null': false, Extra: auto_increment } - { Field: device_id, Type: 'int(10) unsigned', 'Null': false, Extra: '' } - { Field: graph, Type: varchar(255), 'Null': true, Extra: '' } - - { Field: id, Type: 'bigint(20) unsigned', 'Null': false, Extra: auto_increment } Indexes: PRIMARY: { Name: PRIMARY, Columns: [id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } + device_graphs_device_id_index: { Name: device_graphs_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } device_groups: Columns: - { Field: id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -562,7 +562,7 @@ device_groups: - { Field: pattern, Type: text, 'Null': true, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [id], Unique: true, Type: BTREE } - name: { Name: name, Columns: [name], Unique: true, Type: BTREE } + device_groups_name_unique: { Name: device_groups_name_unique, Columns: [name], Unique: true, Type: BTREE } device_group_device: Columns: - { Field: device_group_id, Type: 'int(10) unsigned', 'Null': false, Extra: '' } @@ -609,14 +609,14 @@ device_perf: - { Field: debug, Type: text, 'Null': true, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } + device_perf_device_id_index: { Name: device_perf_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } device_relationships: Columns: - { Field: parent_device_id, Type: 'int(10) unsigned', 'Null': false, Extra: '', Default: '0' } - { Field: child_device_id, Type: 'int(10) unsigned', 'Null': false, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [parent_device_id, child_device_id], Unique: true, Type: BTREE } - device_relationship_child_device_id_fk: { Name: device_relationship_child_device_id_fk, Columns: [child_device_id], Unique: false, Type: BTREE } + device_relationships_child_device_id_index: { Name: device_relationships_child_device_id_index, Columns: [child_device_id], Unique: false, Type: BTREE } Constraints: device_relationship_child_device_id_fk: { name: device_relationship_child_device_id_fk, foreign_key: child_device_id, table: devices, key: device_id, extra: 'ON DELETE CASCADE' } device_relationship_parent_device_id_fk: { name: device_relationship_parent_device_id_fk, foreign_key: parent_device_id, table: devices, key: device_id, extra: 'ON DELETE CASCADE' } @@ -633,7 +633,7 @@ entityState: - { Field: entStateStandby, Type: int(11), 'Null': true, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [entity_state_id], Unique: true, Type: BTREE } - entityState_device_id_index: { Name: entityState_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } + entitystate_device_id_index: { Name: entitystate_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } entPhysical: Columns: - { Field: entPhysical_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -657,7 +657,7 @@ entPhysical: - { Field: ifIndex, Type: int(11), 'Null': true, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [entPhysical_id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } + entphysical_device_id_index: { Name: entphysical_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } entPhysical_state: Columns: - { Field: device_id, Type: 'int(10) unsigned', 'Null': false, Extra: '' } @@ -680,8 +680,8 @@ eventlog: - { Field: severity, Type: tinyint(4), 'Null': false, Extra: '', Default: '2' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [event_id], Unique: true, Type: BTREE } - datetime: { Name: datetime, Columns: [datetime], Unique: false, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } + eventlog_datetime_index: { Name: eventlog_datetime_index, Columns: [datetime], Unique: false, Type: BTREE } + eventlog_device_id_index: { Name: eventlog_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } graph_types: Columns: - { Field: graph_type, Type: varchar(32), 'Null': false, Extra: '' } @@ -691,9 +691,9 @@ graph_types: - { Field: graph_order, Type: int(11), 'Null': false, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [graph_type, graph_subtype, graph_section], Unique: true, Type: BTREE } - graph_section: { Name: graph_section, Columns: [graph_section], Unique: false, Type: BTREE } - graph_subtype: { Name: graph_subtype, Columns: [graph_subtype], Unique: false, Type: BTREE } - graph_type: { Name: graph_type, Columns: [graph_type], Unique: false, Type: BTREE } + graph_types_graph_section_index: { Name: graph_types_graph_section_index, Columns: [graph_section], Unique: false, Type: BTREE } + graph_types_graph_subtype_index: { Name: graph_types_graph_subtype_index, Columns: [graph_subtype], Unique: false, Type: BTREE } + graph_types_graph_type_index: { Name: graph_types_graph_type_index, Columns: [graph_type], Unique: false, Type: BTREE } hrDevice: Columns: - { Field: hrDevice_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -706,7 +706,7 @@ hrDevice: - { Field: hrProcessorLoad, Type: tinyint(4), 'Null': true, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [hrDevice_id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } + hrdevice_device_id_index: { Name: hrdevice_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } ipsec_tunnels: Columns: - { Field: tunnel_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -719,7 +719,7 @@ ipsec_tunnels: - { Field: tunnel_status, Type: varchar(11), 'Null': false, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [tunnel_id], Unique: true, Type: BTREE } - unique_index: { Name: unique_index, Columns: [device_id, peer_addr], Unique: true, Type: BTREE } + ipsec_tunnels_device_id_peer_addr_unique: { Name: ipsec_tunnels_device_id_peer_addr_unique, Columns: [device_id, peer_addr], Unique: true, Type: BTREE } ipv4_addresses: Columns: - { Field: ipv4_address_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -730,7 +730,7 @@ ipv4_addresses: - { Field: context_name, Type: varchar(128), 'Null': true, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [ipv4_address_id], Unique: true, Type: BTREE } - interface_id: { Name: interface_id, Columns: [port_id], Unique: false, Type: BTREE } + ipv4_addresses_port_id_index: { Name: ipv4_addresses_port_id_index, Columns: [port_id], Unique: false, Type: BTREE } ipv4_mac: Columns: - { Field: port_id, Type: 'int(10) unsigned', 'Null': false, Extra: '' } @@ -739,8 +739,8 @@ ipv4_mac: - { Field: ipv4_address, Type: varchar(32), 'Null': false, Extra: '' } - { Field: context_name, Type: varchar(128), 'Null': false, Extra: '' } Indexes: - mac_address: { Name: mac_address, Columns: [mac_address], Unique: false, Type: BTREE } - port_id: { Name: port_id, Columns: [port_id], Unique: false, Type: BTREE } + ipv4_mac_mac_address_index: { Name: ipv4_mac_mac_address_index, Columns: [mac_address], Unique: false, Type: BTREE } + ipv4_mac_port_id_index: { Name: ipv4_mac_port_id_index, Columns: [port_id], Unique: false, Type: BTREE } ipv4_networks: Columns: - { Field: ipv4_network_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -760,7 +760,7 @@ ipv6_addresses: - { Field: context_name, Type: varchar(128), 'Null': true, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [ipv6_address_id], Unique: true, Type: BTREE } - interface_id: { Name: interface_id, Columns: [port_id], Unique: false, Type: BTREE } + ipv6_addresses_port_id_index: { Name: ipv6_addresses_port_id_index, Columns: [port_id], Unique: false, Type: BTREE } ipv6_networks: Columns: - { Field: ipv6_network_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -775,7 +775,7 @@ juniAtmVp: - { Field: vp_id, Type: 'int(10) unsigned', 'Null': false, Extra: '' } - { Field: vp_descr, Type: varchar(32), 'Null': false, Extra: '' } Indexes: - port_id: { Name: port_id, Columns: [port_id], Unique: false, Type: BTREE } + juniatmvp_port_id_index: { Name: juniatmvp_port_id_index, Columns: [port_id], Unique: false, Type: BTREE } links: Columns: - { Field: id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -791,9 +791,9 @@ links: - { Field: remote_version, Type: varchar(256), 'Null': false, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [id], Unique: true, Type: BTREE } - dst_if: { Name: dst_if, Columns: [remote_port_id], Unique: false, Type: BTREE } + links_local_port_id_index: { Name: links_local_port_id_index, Columns: [local_port_id], Unique: false, Type: BTREE } + links_remote_port_id_index: { Name: links_remote_port_id_index, Columns: [remote_port_id], Unique: false, Type: BTREE } local_device_id: { Name: local_device_id, Columns: [local_device_id, remote_device_id], Unique: false, Type: BTREE } - src_if: { Name: src_if, Columns: [local_port_id], Unique: false, Type: BTREE } loadbalancer_rservers: Columns: - { Field: rserver_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -809,7 +809,7 @@ loadbalancer_vservers: - { Field: serverstate, Type: varchar(64), 'Null': false, Extra: '' } - { Field: device_id, Type: 'int(10) unsigned', 'Null': false, Extra: '' } Indexes: - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } + loadbalancer_vservers_device_id_index: { Name: loadbalancer_vservers_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } locations: Columns: - { Field: id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -819,7 +819,7 @@ locations: - { Field: timestamp, Type: datetime, 'Null': false, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [id], Unique: true, Type: BTREE } - locations_location_uindex: { Name: locations_location_uindex, Columns: [location], Unique: true, Type: BTREE } + locations_location_unique: { Name: locations_location_unique, Columns: [location], Unique: true, Type: BTREE } mac_accounting: Columns: - { Field: ma_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -850,8 +850,7 @@ mac_accounting: - { Field: poll_period, Type: 'int(10) unsigned', 'Null': true, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [ma_id], Unique: true, Type: BTREE } - interface_id: { Name: interface_id, Columns: [port_id], Unique: false, Type: BTREE } - interface_id_2: { Name: interface_id_2, Columns: [port_id], Unique: false, Type: BTREE } + mac_accounting_port_id_index: { Name: mac_accounting_port_id_index, Columns: [port_id], Unique: false, Type: BTREE } mefinfo: Columns: - { Field: id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -864,8 +863,8 @@ mefinfo: - { Field: mefRowState, Type: varchar(128), 'Null': false, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } - mefID: { Name: mefID, Columns: [mefID], Unique: false, Type: BTREE } + mefinfo_device_id_index: { Name: mefinfo_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } + mefinfo_mefid_index: { Name: mefinfo_mefid_index, Columns: [mefID], Unique: false, Type: BTREE } mempools: Columns: - { Field: mempool_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -886,7 +885,7 @@ mempools: - { Field: mempool_perc_warn, Type: int(11), 'Null': true, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [mempool_id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } + mempools_device_id_index: { Name: mempools_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } mibdefs: Columns: - { Field: module, Type: varchar(255), 'Null': false, Extra: '' } @@ -934,7 +933,7 @@ mpls_lsps: - { Field: mplsLspOperationalPaths, Type: 'int(10) unsigned', 'Null': true, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [lsp_id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } + mpls_lsps_device_id_index: { Name: mpls_lsps_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } mpls_lsp_paths: Columns: - { Field: lsp_path_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -960,7 +959,7 @@ mpls_lsp_paths: - { Field: mplsLspPathTunnelCHopListIndex, Type: 'int(10) unsigned', 'Null': true, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [lsp_path_id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } + mpls_lsp_paths_device_id_index: { Name: mpls_lsp_paths_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } mpls_saps: Columns: - { Field: sap_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -979,7 +978,7 @@ mpls_saps: - { Field: sapLastStatusChange, Type: bigint(20), 'Null': true, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [sap_id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } + mpls_saps_device_id_index: { Name: mpls_saps_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } mpls_sdps: Columns: - { Field: sdp_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -999,7 +998,7 @@ mpls_sdps: - { Field: sdpFarEndInetAddress, Type: varchar(46), 'Null': true, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [sdp_id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } + mpls_sdps_device_id_index: { Name: mpls_sdps_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } mpls_sdp_binds: Columns: - { Field: bind_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1021,7 +1020,7 @@ mpls_sdp_binds: - { Field: sdpBindBaseStatsEgrFwdOctets, Type: bigint(20), 'Null': true, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [bind_id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } + mpls_sdp_binds_device_id_index: { Name: mpls_sdp_binds_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } mpls_services: Columns: - { Field: svc_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1046,7 +1045,7 @@ mpls_services: - { Field: svcTlsFdbNumEntries, Type: int(11), 'Null': true, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [svc_id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } + mpls_services_device_id_index: { Name: mpls_services_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } mpls_tunnel_ar_hops: Columns: - { Field: ar_hop_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1066,7 +1065,7 @@ mpls_tunnel_ar_hops: - { Field: nextNodeProtected, Type: 'enum(''false'',''true'')', 'Null': false, Extra: '', Default: 'false' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [ar_hop_id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } + mpls_tunnel_ar_hops_device_id_index: { Name: mpls_tunnel_ar_hops_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } mpls_tunnel_c_hops: Columns: - { Field: c_hop_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1082,7 +1081,7 @@ mpls_tunnel_c_hops: - { Field: mplsTunnelCHopRouterId, Type: varchar(15), 'Null': true, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [c_hop_id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } + mpls_tunnel_c_hops_device_id_index: { Name: mpls_tunnel_c_hops_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } munin_plugins: Columns: - { Field: mplug_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1098,8 +1097,8 @@ munin_plugins: - { Field: mplug_graph, Type: tinyint(1), 'Null': false, Extra: '', Default: '1' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [mplug_id], Unique: true, Type: BTREE } - UNIQUE: { Name: UNIQUE, Columns: [device_id, mplug_type], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } + munin_plugins_device_id_index: { Name: munin_plugins_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } + munin_plugins_device_id_mplug_type_unique: { Name: munin_plugins_device_id_mplug_type_unique, Columns: [device_id, mplug_type], Unique: true, Type: BTREE } munin_plugins_ds: Columns: - { Field: mplug_id, Type: 'int(10) unsigned', 'Null': false, Extra: '' } @@ -1121,7 +1120,7 @@ munin_plugins_ds: - { Field: ds_stack, Type: text, 'Null': false, Extra: '' } - { Field: ds_line, Type: varchar(64), 'Null': false, Extra: '' } Indexes: - splug_id: { Name: splug_id, Columns: [mplug_id, ds_name], Unique: true, Type: BTREE } + munin_plugins_ds_mplug_id_ds_name_unique: { Name: munin_plugins_ds_mplug_id_ds_name_unique, Columns: [mplug_id, ds_name], Unique: true, Type: BTREE } netscaler_vservers: Columns: - { Field: vsvr_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1149,7 +1148,7 @@ notifications: - { Field: datetime, Type: timestamp, 'Null': false, Extra: '', Default: '1970-01-02 00:00:00' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [notifications_id], Unique: true, Type: BTREE } - checksum: { Name: checksum, Columns: [checksum], Unique: true, Type: BTREE } + notifications_checksum_unique: { Name: notifications_checksum_unique, Columns: [checksum], Unique: true, Type: BTREE } notifications_severity_index: { Name: notifications_severity_index, Columns: [severity], Unique: false, Type: BTREE } notifications_attribs: Columns: @@ -1178,7 +1177,7 @@ ospf_areas: - { Field: context_name, Type: varchar(128), 'Null': true, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [id], Unique: true, Type: BTREE } - device_area: { Name: device_area, Columns: [device_id, ospfAreaId, context_name], Unique: true, Type: BTREE } + ospf_areas_device_id_ospfareaid_context_name_unique: { Name: ospf_areas_device_id_ospfareaid_context_name_unique, Columns: [device_id, ospfAreaId, context_name], Unique: true, Type: BTREE } ospf_instances: Columns: - { Field: id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1201,7 +1200,7 @@ ospf_instances: - { Field: context_name, Type: varchar(128), 'Null': true, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id, ospf_instance_id, context_name], Unique: true, Type: BTREE } + ospf_instances_device_id_ospf_instance_id_context_name_unique: { Name: ospf_instances_device_id_ospf_instance_id_context_name_unique, Columns: [device_id, ospf_instance_id, context_name], Unique: true, Type: BTREE } ospf_nbrs: Columns: - { Field: id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1222,7 +1221,7 @@ ospf_nbrs: - { Field: context_name, Type: varchar(128), 'Null': true, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id, ospf_nbr_id, context_name], Unique: true, Type: BTREE } + ospf_nbrs_device_id_ospf_nbr_id_context_name_unique: { Name: ospf_nbrs_device_id_ospf_nbr_id_context_name_unique, Columns: [device_id, ospf_nbr_id, context_name], Unique: true, Type: BTREE } ospf_ports: Columns: - { Field: id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1252,7 +1251,7 @@ ospf_ports: - { Field: context_name, Type: varchar(128), 'Null': true, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id, ospf_port_id, context_name], Unique: true, Type: BTREE } + ospf_ports_device_id_ospf_port_id_context_name_unique: { Name: ospf_ports_device_id_ospf_port_id_context_name_unique, Columns: [device_id, ospf_port_id, context_name], Unique: true, Type: BTREE } packages: Columns: - { Field: pkg_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1266,8 +1265,8 @@ packages: - { Field: size, Type: bigint(20), 'Null': true, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [pkg_id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } - unique_key: { Name: unique_key, Columns: [device_id, name, manager, arch, version, build], Unique: true, Type: BTREE } + packages_device_id_index: { Name: packages_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } + packages_device_id_name_manager_arch_version_build_unique: { Name: packages_device_id_name_manager_arch_version_build_unique, Columns: [device_id, name, manager, arch, version, build], Unique: true, Type: BTREE } pdb_ix: Columns: - { Field: pdb_ix_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1300,7 +1299,7 @@ perf_times: - { Field: poller, Type: varchar(255), 'Null': false, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [id], Unique: true, Type: BTREE } - type: { Name: type, Columns: [type], Unique: false, Type: BTREE } + perf_times_type_index: { Name: perf_times_type_index, Columns: [type], Unique: false, Type: BTREE } plugins: Columns: - { Field: plugin_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1317,7 +1316,7 @@ pollers: - { Field: time_taken, Type: double, 'Null': false, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [id], Unique: true, Type: BTREE } - poller_name: { Name: poller_name, Columns: [poller_name], Unique: true, Type: BTREE } + pollers_poller_name_unique: { Name: pollers_poller_name_unique, Columns: [poller_name], Unique: true, Type: BTREE } poller_cluster: Columns: - { Field: id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1342,7 +1341,7 @@ poller_cluster_stats: - { Field: frequency, Type: 'int(10) unsigned', 'Null': false, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [id], Unique: true, Type: BTREE } - parent_poller_poller_type: { Name: parent_poller_poller_type, Columns: [parent_poller, poller_type], Unique: true, Type: BTREE } + poller_cluster_stats_parent_poller_poller_type_unique: { Name: poller_cluster_stats_parent_poller_poller_type_unique, Columns: [parent_poller, poller_type], Unique: true, Type: BTREE } poller_groups: Columns: - { Field: id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1428,8 +1427,8 @@ ports: - { Field: poll_period, Type: 'int(10) unsigned', 'Null': true, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [port_id], Unique: true, Type: BTREE } - device_ifIndex: { Name: device_ifIndex, Columns: [device_id, ifIndex], Unique: true, Type: BTREE } - if_2: { Name: if_2, Columns: [ifDescr], Unique: false, Type: BTREE } + ports_device_id_ifindex_unique: { Name: ports_device_id_ifindex_unique, Columns: [device_id, ifIndex], Unique: true, Type: BTREE } + ports_ifdescr_index: { Name: ports_ifdescr_index, Columns: [ifDescr], Unique: false, Type: BTREE } ports_adsl: Columns: - { Field: port_id, Type: 'int(10) unsigned', 'Null': false, Extra: '' } @@ -1452,7 +1451,7 @@ ports_adsl: - { Field: adslAturCurrOutputPwr, Type: 'decimal(5,1)', 'Null': false, Extra: '' } - { Field: adslAturCurrAttainableRate, Type: int(11), 'Null': false, Extra: '' } Indexes: - interface_id: { Name: interface_id, Columns: [port_id], Unique: true, Type: BTREE } + ports_adsl_port_id_unique: { Name: ports_adsl_port_id_unique, Columns: [port_id], Unique: true, Type: BTREE } ports_fdb: Columns: - { Field: ports_fdb_id, Type: 'bigint(20) unsigned', 'Null': false, Extra: auto_increment } @@ -1464,8 +1463,8 @@ ports_fdb: - { Field: updated_at, Type: timestamp, 'Null': true, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [ports_fdb_id], Unique: true, Type: BTREE } - mac_address: { Name: mac_address, Columns: [mac_address], Unique: false, Type: BTREE } ports_fdb_device_id_index: { Name: ports_fdb_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } + ports_fdb_mac_address_index: { Name: ports_fdb_mac_address_index, Columns: [mac_address], Unique: false, Type: BTREE } ports_fdb_port_id_index: { Name: ports_fdb_port_id_index, Columns: [port_id], Unique: false, Type: BTREE } ports_fdb_vlan_id_index: { Name: ports_fdb_vlan_id_index, Columns: [vlan_id], Unique: false, Type: BTREE } ports_nac: @@ -1502,7 +1501,7 @@ ports_stack: - { Field: port_id_low, Type: 'int(10) unsigned', 'Null': false, Extra: '' } - { Field: ifStackStatus, Type: varchar(32), 'Null': false, Extra: '' } Indexes: - device_id: { Name: device_id, Columns: [device_id, port_id_high, port_id_low], Unique: true, Type: BTREE } + ports_stack_device_id_port_id_high_port_id_low_unique: { Name: ports_stack_device_id_port_id_high_port_id_low_unique, Columns: [device_id, port_id_high, port_id_low], Unique: true, Type: BTREE } ports_statistics: Columns: - { Field: port_id, Type: 'int(10) unsigned', 'Null': false, Extra: '' } @@ -1560,7 +1559,7 @@ ports_stp: - { Field: forwardTransitions, Type: 'int(10) unsigned', 'Null': false, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [port_stp_id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id, port_id], Unique: true, Type: BTREE } + ports_stp_device_id_port_id_unique: { Name: ports_stp_device_id_port_id_unique, Columns: [device_id, port_id], Unique: true, Type: BTREE } ports_vlans: Columns: - { Field: port_vlan_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1574,7 +1573,7 @@ ports_vlans: - { Field: untagged, Type: tinyint(1), 'Null': false, Extra: '', Default: '0' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [port_vlan_id], Unique: true, Type: BTREE } - unique: { Name: unique, Columns: [device_id, port_id, vlan], Unique: true, Type: BTREE } + ports_vlans_device_id_port_id_vlan_unique: { Name: ports_vlans_device_id_port_id_vlan_unique, Columns: [device_id, port_id, vlan], Unique: true, Type: BTREE } processes: Columns: - { Field: device_id, Type: 'int(10) unsigned', 'Null': false, Extra: '' } @@ -1585,7 +1584,7 @@ processes: - { Field: user, Type: varchar(50), 'Null': false, Extra: '' } - { Field: command, Type: text, 'Null': false, Extra: '' } Indexes: - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } + processes_device_id_index: { Name: processes_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } processors: Columns: - { Field: processor_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1601,7 +1600,7 @@ processors: - { Field: processor_perc_warn, Type: int(11), 'Null': true, Extra: '', Default: '75' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [processor_id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } + processors_device_id_index: { Name: processors_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } proxmox: Columns: - { Field: id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1612,7 +1611,7 @@ proxmox: - { Field: last_seen, Type: timestamp, 'Null': false, Extra: '', Default: CURRENT_TIMESTAMP } Indexes: PRIMARY: { Name: PRIMARY, Columns: [id], Unique: true, Type: BTREE } - cluster_vm: { Name: cluster_vm, Columns: [cluster, vmid], Unique: true, Type: BTREE } + proxmox_cluster_vmid_unique: { Name: proxmox_cluster_vmid_unique, Columns: [cluster, vmid], Unique: true, Type: BTREE } proxmox_ports: Columns: - { Field: id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1621,7 +1620,7 @@ proxmox_ports: - { Field: last_seen, Type: timestamp, 'Null': false, Extra: '', Default: CURRENT_TIMESTAMP } Indexes: PRIMARY: { Name: PRIMARY, Columns: [id], Unique: true, Type: BTREE } - vm_port: { Name: vm_port, Columns: [vm_id, port], Unique: true, Type: BTREE } + proxmox_ports_vm_id_port_unique: { Name: proxmox_ports_vm_id_port_unique, Columns: [vm_id, port], Unique: true, Type: BTREE } pseudowires: Columns: - { Field: pseudowire_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1687,9 +1686,9 @@ sensors: - { Field: user_func, Type: varchar(100), 'Null': true, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [sensor_id], Unique: true, Type: BTREE } - sensor_class: { Name: sensor_class, Columns: [sensor_class], Unique: false, Type: BTREE } - sensor_host: { Name: sensor_host, Columns: [device_id], Unique: false, Type: BTREE } - sensor_type: { Name: sensor_type, Columns: [sensor_type], Unique: false, Type: BTREE } + sensors_device_id_index: { Name: sensors_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } + sensors_sensor_class_index: { Name: sensors_sensor_class_index, Columns: [sensor_class], Unique: false, Type: BTREE } + sensors_sensor_type_index: { Name: sensors_sensor_type_index, Columns: [sensor_type], Unique: false, Type: BTREE } Constraints: sensors_device_id_foreign: { name: sensors_device_id_foreign, foreign_key: device_id, table: devices, key: device_id, extra: 'ON DELETE CASCADE' } sensors_to_state_indexes: @@ -1699,8 +1698,8 @@ sensors_to_state_indexes: - { Field: state_index_id, Type: 'int(10) unsigned', 'Null': false, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [sensors_to_state_translations_id], Unique: true, Type: BTREE } - sensor_id_state_index_id: { Name: sensor_id_state_index_id, Columns: [sensor_id, state_index_id], Unique: true, Type: BTREE } - state_index_id: { Name: state_index_id, Columns: [state_index_id], Unique: false, Type: BTREE } + sensors_to_state_indexes_sensor_id_state_index_id_unique: { Name: sensors_to_state_indexes_sensor_id_state_index_id_unique, Columns: [sensor_id, state_index_id], Unique: true, Type: BTREE } + sensors_to_state_indexes_state_index_id_index: { Name: sensors_to_state_indexes_state_index_id_index, Columns: [state_index_id], Unique: false, Type: BTREE } Constraints: sensors_to_state_indexes_ibfk_1: { name: sensors_to_state_indexes_ibfk_1, foreign_key: state_index_id, table: state_indexes, key: state_index_id, extra: '' } sensors_to_state_indexes_sensor_id_foreign: { name: sensors_to_state_indexes_sensor_id_foreign, foreign_key: sensor_id, table: sensors, key: sensor_id, extra: 'ON DELETE CASCADE' } @@ -1720,7 +1719,7 @@ services: - { Field: service_ds, Type: text, 'Null': false, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [service_id], Unique: true, Type: BTREE } - service_host: { Name: service_host, Columns: [device_id], Unique: false, Type: BTREE } + services_device_id_index: { Name: services_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } session: Columns: - { Field: session_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1731,7 +1730,7 @@ session: - { Field: session_expiry, Type: int(11), 'Null': false, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [session_id], Unique: true, Type: BTREE } - session_value: { Name: session_value, Columns: [session_value], Unique: true, Type: BTREE } + session_session_value_unique: { Name: session_session_value_unique, Columns: [session_value], Unique: true, Type: BTREE } slas: Columns: - { Field: sla_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1745,15 +1744,15 @@ slas: - { Field: deleted, Type: tinyint(1), 'Null': false, Extra: '', Default: '0' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [sla_id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } - unique_key: { Name: unique_key, Columns: [device_id, sla_nr], Unique: true, Type: BTREE } + slas_device_id_index: { Name: slas_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } + slas_device_id_sla_nr_unique: { Name: slas_device_id_sla_nr_unique, Columns: [device_id, sla_nr], Unique: true, Type: BTREE } state_indexes: Columns: - { Field: state_index_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } - { Field: state_name, Type: varchar(64), 'Null': false, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [state_index_id], Unique: true, Type: BTREE } - state_name: { Name: state_name, Columns: [state_name], Unique: true, Type: BTREE } + state_indexes_state_name_unique: { Name: state_indexes_state_name_unique, Columns: [state_name], Unique: true, Type: BTREE } state_translations: Columns: - { Field: state_translation_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1765,7 +1764,7 @@ state_translations: - { Field: state_lastupdated, Type: timestamp, 'Null': false, Extra: 'on update CURRENT_TIMESTAMP', Default: CURRENT_TIMESTAMP } Indexes: PRIMARY: { Name: PRIMARY, Columns: [state_translation_id], Unique: true, Type: BTREE } - state_index_id_value: { Name: state_index_id_value, Columns: [state_index_id, state_value], Unique: true, Type: BTREE } + state_translations_state_index_id_state_value_unique: { Name: state_translations_state_index_id_state_value_unique, Columns: [state_index_id, state_value], Unique: true, Type: BTREE } storage: Columns: - { Field: storage_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1783,8 +1782,8 @@ storage: - { Field: storage_deleted, Type: tinyint(1), 'Null': false, Extra: '', Default: '0' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [storage_id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } - index_unique: { Name: index_unique, Columns: [device_id, storage_mib, storage_index], Unique: true, Type: BTREE } + storage_device_id_index: { Name: storage_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } + storage_device_id_storage_mib_storage_index_unique: { Name: storage_device_id_storage_mib_storage_index_unique, Columns: [device_id, storage_mib, storage_index], Unique: true, Type: BTREE } stp: Columns: - { Field: stp_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1807,7 +1806,7 @@ stp: - { Field: bridgeForwardDelay, Type: smallint(6), 'Null': false, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [stp_id], Unique: true, Type: BTREE } - stp_host: { Name: stp_host, Columns: [device_id], Unique: false, Type: BTREE } + stp_device_id_index: { Name: stp_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } syslog: Columns: - { Field: device_id, Type: 'int(10) unsigned', 'Null': true, Extra: '' } @@ -1821,11 +1820,11 @@ syslog: - { Field: seq, Type: 'bigint(20) unsigned', 'Null': false, Extra: auto_increment } Indexes: PRIMARY: { Name: PRIMARY, Columns: [seq], Unique: true, Type: BTREE } - datetime: { Name: datetime, Columns: [timestamp], Unique: false, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } - device_id-timestamp: { Name: device_id-timestamp, Columns: [device_id, timestamp], Unique: false, Type: BTREE } - priority_level: { Name: priority_level, Columns: [priority, level], Unique: false, Type: BTREE } - program: { Name: program, Columns: [program], Unique: false, Type: BTREE } + syslog_device_id_index: { Name: syslog_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } + syslog_device_id_timestamp_index: { Name: syslog_device_id_timestamp_index, Columns: [device_id, timestamp], Unique: false, Type: BTREE } + syslog_priority_level_index: { Name: syslog_priority_level_index, Columns: [priority, level], Unique: false, Type: BTREE } + syslog_program_index: { Name: syslog_program_index, Columns: [program], Unique: false, Type: BTREE } + syslog_timestamp_index: { Name: syslog_timestamp_index, Columns: [timestamp], Unique: false, Type: BTREE } tnmsneinfo: Columns: - { Field: id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1839,8 +1838,8 @@ tnmsneinfo: - { Field: neOpState, Type: varchar(128), 'Null': false, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } - neID: { Name: neID, Columns: [neID], Unique: false, Type: BTREE } + tnmsneinfo_device_id_index: { Name: tnmsneinfo_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } + tnmsneinfo_neid_index: { Name: tnmsneinfo_neid_index, Columns: [neID], Unique: false, Type: BTREE } toner: Columns: - { Field: toner_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1854,7 +1853,7 @@ toner: - { Field: toner_capacity_oid, Type: varchar(64), 'Null': true, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [toner_id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } + toner_device_id_index: { Name: toner_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } transport_group_transport: Columns: - { Field: transport_group_id, Type: 'int(10) unsigned', 'Null': false, Extra: '' } @@ -1867,7 +1866,7 @@ ucd_diskio: - { Field: diskio_descr, Type: varchar(32), 'Null': false, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [diskio_id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } + ucd_diskio_device_id_index: { Name: ucd_diskio_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } users: Columns: - { Field: user_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1886,7 +1885,7 @@ users: - { Field: enabled, Type: tinyint(1), 'Null': false, Extra: '', Default: '1' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [user_id], Unique: true, Type: BTREE } - username: { Name: username, Columns: [auth_type, username], Unique: true, Type: BTREE } + users_auth_type_username_unique: { Name: users_auth_type_username_unique, Columns: [auth_type, username], Unique: true, Type: BTREE } users_prefs: Columns: - { Field: user_id, Type: 'int(10) unsigned', 'Null': false, Extra: '' } @@ -1935,8 +1934,8 @@ vminfo: - { Field: vmwVmState, Type: varchar(128), 'Null': false, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } - vmwVmVMID: { Name: vmwVmVMID, Columns: [vmwVmVMID], Unique: false, Type: BTREE } + vminfo_device_id_index: { Name: vminfo_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } + vminfo_vmwvmvmid_index: { Name: vminfo_vmwvmvmid_index, Columns: [vmwVmVMID], Unique: false, Type: BTREE } vrfs: Columns: - { Field: vrf_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1948,7 +1947,7 @@ vrfs: - { Field: device_id, Type: 'int(10) unsigned', 'Null': false, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [vrf_id], Unique: true, Type: BTREE } - device_id: { Name: device_id, Columns: [device_id], Unique: false, Type: BTREE } + vrfs_device_id_index: { Name: vrfs_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } vrf_lite_cisco: Columns: - { Field: vrf_lite_cisco_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1958,10 +1957,10 @@ vrf_lite_cisco: - { Field: vrf_name, Type: varchar(128), 'Null': true, Extra: '', Default: Default } Indexes: PRIMARY: { Name: PRIMARY, Columns: [vrf_lite_cisco_id], Unique: true, Type: BTREE } - context: { Name: context, Columns: [context_name], Unique: false, Type: BTREE } - device: { Name: device, Columns: [device_id], Unique: false, Type: BTREE } - mix: { Name: mix, Columns: [device_id, context_name, vrf_name], Unique: false, Type: BTREE } - vrf: { Name: vrf, Columns: [vrf_name], Unique: false, Type: BTREE } + vrf_lite_cisco_context_name_index: { Name: vrf_lite_cisco_context_name_index, Columns: [context_name], Unique: false, Type: BTREE } + vrf_lite_cisco_device_id_context_name_vrf_name_index: { Name: vrf_lite_cisco_device_id_context_name_vrf_name_index, Columns: [device_id, context_name, vrf_name], Unique: false, Type: BTREE } + vrf_lite_cisco_device_id_index: { Name: vrf_lite_cisco_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } + vrf_lite_cisco_vrf_name_index: { Name: vrf_lite_cisco_vrf_name_index, Columns: [vrf_name], Unique: false, Type: BTREE } widgets: Columns: - { Field: widget_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1970,7 +1969,7 @@ widgets: - { Field: base_dimensions, Type: varchar(10), 'Null': false, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [widget_id], Unique: true, Type: BTREE } - widget: { Name: widget, Columns: [widget], Unique: true, Type: BTREE } + widgets_widget_unique: { Name: widgets_widget_unique, Columns: [widget], Unique: true, Type: BTREE } wireless_sensors: Columns: - { Field: sensor_id, Type: 'int(10) unsigned', 'Null': false, Extra: auto_increment } @@ -1998,8 +1997,8 @@ wireless_sensors: - { Field: access_point_id, Type: 'int(10) unsigned', 'Null': true, Extra: '' } Indexes: PRIMARY: { Name: PRIMARY, Columns: [sensor_id], Unique: true, Type: BTREE } - sensor_class: { Name: sensor_class, Columns: [sensor_class], Unique: false, Type: BTREE } - sensor_host: { Name: sensor_host, Columns: [device_id], Unique: false, Type: BTREE } - sensor_type: { Name: sensor_type, Columns: [sensor_type], Unique: false, Type: BTREE } + wireless_sensors_device_id_index: { Name: wireless_sensors_device_id_index, Columns: [device_id], Unique: false, Type: BTREE } + wireless_sensors_sensor_class_index: { Name: wireless_sensors_sensor_class_index, Columns: [sensor_class], Unique: false, Type: BTREE } + wireless_sensors_sensor_type_index: { Name: wireless_sensors_sensor_type_index, Columns: [sensor_type], Unique: false, Type: BTREE } Constraints: wireless_sensors_device_id_foreign: { name: wireless_sensors_device_id_foreign, foreign_key: device_id, table: devices, key: device_id, extra: 'ON DELETE CASCADE' } diff --git a/tests/BasicApiTest.php b/tests/BasicApiTest.php index 7e5a284ef0..3fc6425434 100644 --- a/tests/BasicApiTest.php +++ b/tests/BasicApiTest.php @@ -28,12 +28,9 @@ namespace LibreNMS\Tests; use App\Models\ApiToken; use App\Models\Device; use App\Models\User; -use Illuminate\Foundation\Testing\DatabaseTransactions; class BasicApiTest extends DBTestCase { - use DatabaseTransactions; - public function testListDevices() { $user = factory(User::class)->state('admin')->create(); diff --git a/tests/ConfigTest.php b/tests/ConfigTest.php index 7bc487495f..28b2751afa 100644 --- a/tests/ConfigTest.php +++ b/tests/ConfigTest.php @@ -26,8 +26,6 @@ namespace LibreNMS\Tests; use LibreNMS\Config; -use LibreNMS\DB\Eloquent; -use ReflectionClass; class ConfigTest extends TestCase { diff --git a/tests/DBSetupTest.php b/tests/DBSetupTest.php index 0760d830da..67aead4e4a 100644 --- a/tests/DBSetupTest.php +++ b/tests/DBSetupTest.php @@ -25,72 +25,57 @@ namespace LibreNMS\Tests; -use Illuminate\Support\Str; -use \PHPUnit\Framework\ExpectationFailedException as PHPUnitException; +use Artisan; +use DB; class DBSetupTest extends DBTestCase { protected $db_name; + protected $connection = 'testing'; protected function setUp(): void { parent::setUp(); - $this->db_name = dbFetchCell('SELECT DATABASE()'); + $this->db_name = DB::connection($this->connection)->getDatabaseName(); } public function testSetupDB() { - global $migrate_output, $migrate_result; + $result = Artisan::call('migrate:fresh', [ + '--seed' => true, + '--env' => 'testing', + '--database' => $this->connection + ]); - $this->assertSame(0, $migrate_result, "Errors loading DB Schema: " . $migrate_output); + $this->assertSame(0, $result, "Errors loading DB Schema: " . Artisan::output()); } public function testSchemaFiles() { - $files = glob(\LibreNMS\Config::get('install_dir') . '/sql-schema/*.sql'); - - foreach ($files as $file) { - $content = file_get_contents($file); - - foreach (explode("\n", $content) as $line) { - // skip comments and empty lines - if (empty($line) || Str::startsWith($line, array('#', '--'))) { - continue; - } - - // each line must end with ;, prevents multiline and makes sql easy to run by hand - // Warning may include whitespace such as space and \r - if (!Str::endsWith($line, ';')) { - throw new PHPUnitException("Each line must end with a semicolin (;)\n$file: $line"); - } - - // cannot assume user use the librenms database name - if (Str::contains($line, 'librenms.')) { - throw new PHPUnitException("Do not include the database name in schema files\n$file: $line"); - } - } - } - - $this->expectNotToPerformAssertions(); + $files = glob(base_path('/sql-schema/*.sql')); + $this->assertCount(282, $files, 'You should not create new legacy schema files.'); } public function testSchema() { $files = array_map(function ($migration_file) { return basename($migration_file, '.php'); - }, array_diff(scandir(\LibreNMS\Config::get('install_dir') . '/database/migrations'), ['.', '..'])); - $migrated = dbFetchColumn('SELECT migration FROM migrations'); + }, array_diff(scandir(base_path('/database/migrations')), ['.', '..'])); + $migrated = DB::connection($this->connection)->table('migrations')->pluck('migration')->toArray(); sort($files); sort($migrated); $this->assertEquals($files, $migrated, "List of run migrations did not match existing migration files."); - $schema = get_db_schema(); + // check legacy schema version is 1000 + $schema = DB::connection($this->connection)->table('dbSchema') + ->orderBy('version', 'DESC') + ->value('version'); $this->assertEquals(1000, $schema, "Seed not run, after seed legacy dbSchema should be 1000"); } public function testCheckDBCollation() { - $collation = dbFetchRows("SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA S WHERE schema_name = '$this->db_name' AND ( DEFAULT_CHARACTER_SET_NAME != 'utf8' OR DEFAULT_COLLATION_NAME != 'utf8_unicode_ci')"); + $collation = DB::connection($this->connection)->select(DB::raw("SELECT DEFAULT_CHARACTER_SET_NAME, DEFAULT_COLLATION_NAME FROM information_schema.SCHEMATA S WHERE schema_name = '$this->db_name' AND ( DEFAULT_CHARACTER_SET_NAME != 'utf8' OR DEFAULT_COLLATION_NAME != 'utf8_unicode_ci')")); if (isset($collation[0])) { $error = implode(' ', $collation[0]); } else { @@ -101,7 +86,7 @@ class DBSetupTest extends DBTestCase public function testCheckTableCollation() { - $collation = dbFetchRows("SELECT T.TABLE_NAME, C.CHARACTER_SET_NAME, C.COLLATION_NAME FROM information_schema.TABLES AS T, information_schema.COLLATION_CHARACTER_SET_APPLICABILITY AS C WHERE C.collation_name = T.table_collation AND T.table_schema = '$this->db_name' AND ( C.CHARACTER_SET_NAME != 'utf8' OR C.COLLATION_NAME != 'utf8_unicode_ci' );"); + $collation = DB::connection($this->connection)->select(DB::raw("SELECT T.TABLE_NAME, C.CHARACTER_SET_NAME, C.COLLATION_NAME FROM information_schema.TABLES AS T, information_schema.COLLATION_CHARACTER_SET_APPLICABILITY AS C WHERE C.collation_name = T.table_collation AND T.table_schema = '$this->db_name' AND ( C.CHARACTER_SET_NAME != 'utf8' OR C.COLLATION_NAME != 'utf8_unicode_ci' );")); $error = ''; foreach ($collation as $id => $data) { $error .= implode(' ', $data) . PHP_EOL; @@ -111,7 +96,7 @@ class DBSetupTest extends DBTestCase public function testCheckColumnCollation() { - $collation = dbFetchRows("SELECT TABLE_NAME, COLUMN_NAME, CHARACTER_SET_NAME, COLLATION_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = '$this->db_name' AND ( CHARACTER_SET_NAME != 'utf8' OR COLLATION_NAME != 'utf8_unicode_ci' );"); + $collation = DB::connection($this->connection)->select(DB::raw("SELECT TABLE_NAME, COLUMN_NAME, CHARACTER_SET_NAME, COLLATION_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = '$this->db_name' AND ( CHARACTER_SET_NAME != 'utf8' OR COLLATION_NAME != 'utf8_unicode_ci' );")); $error = ''; foreach ($collation as $id => $data) { $error .= implode(' ', $data) . PHP_EOL; @@ -123,7 +108,7 @@ class DBSetupTest extends DBTestCase { $this->assertEquals( 'ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION', - dbFetchCell("SELECT @@sql_mode") + DB::connection($this->connection)->select(DB::raw("SELECT @@sql_mode AS mode"))[0]->mode ); } @@ -134,9 +119,9 @@ class DBSetupTest extends DBTestCase file_get_contents('misc/db_schema.yaml') ); - $current_schema = dump_db_schema(); + $current_schema = dump_db_schema($this->connection); - $message = "Schema does not match the excpected schema defined by misc/db_schema.yaml\n"; + $message = "Schema does not match the expected schema defined by misc/db_schema.yaml\n"; $message .= "If you have changed the schema, make sure you update it with ./scripts/build-schema.php\n"; $this->assertEquals($master_schema, $current_schema, $message); diff --git a/tests/Unit/SqliteTest.php b/tests/Unit/SqliteTest.php new file mode 100644 index 0000000000..c3c3afa555 --- /dev/null +++ b/tests/Unit/SqliteTest.php @@ -0,0 +1,52 @@ +. + * + * @package LibreNMS + * @link http://librenms.org + * @copyright 2020 Tony Murray + * @author Tony Murray + */ + +namespace LibreNMS\Tests\Unit; + +use Artisan; +use Illuminate\Database\QueryException; +use LibreNMS\Tests\TestCase; + +class SqliteTest extends TestCase +{ + private $connection = 'testing_memory'; + + public function testMigrationsRunWithoutError() + { + try { + $result = Artisan::call('migrate', ['--database' => $this->connection, '--seed' => true]); + $output = Artisan::output(); + + $this->assertEquals(0, $result, "SQLite migration failed:\n$output"); + $this->assertNotEmpty($output, 'Migrations not run'); + } catch (QueryException $queryException) { + preg_match('/Migrating: (\w+)$/', Artisan::output(), $matches); + $this->fail("Could not run migration {$matches[1]}) on SQLite\n\n" . $queryException->getMessage()); + } + + $count = \DB::connection($this->connection)->table('alert_templates')->count(); + $this->assertGreaterThan(0, $count, 'Database content check failed.'); + } +} diff --git a/tests/bootstrap.php b/tests/bootstrap.php index 9c42f8c259..7eabe9d12a 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -61,6 +61,11 @@ if (getenv('DBTEST')) { $connection->query("CREATE DATABASE IF NOT EXISTS {$db_config['database']} CHARACTER SET utf8 COLLATE utf8_unicode_ci"); unset($connection); // close connection + // sqlite db file + // $dbFile = fopen(storage_path('testing.sqlite'), 'a+'); + // ftruncate($dbFile, 0); + // fclose($dbFile); + // try to avoid erasing people's primary databases if ($db_config['database'] !== \config('database.connections.mysql.database', 'librenms')) { echo "Refreshing database...";