Your database is out of date! [FIX]: ./lnms migrate - error

Hi Guys,

I want to update the libre database, I was updated the centos, and the python to version 3.
But I can’t solve:
Fail: Your database is out of date!
Fix: ./lnms migrate

When I started ./lnms migrate, I got this error.
Imgur

all other items are OK
Imgur

How I can solve this?

su - librenms git pull ./daily.sh   -  works, but I have  Fail: Your database is out of date!

Thank a lot.

1 Like

I have exactly same issue. Please can someone help with this issue?

Thanks

Same issue there

root@libnms:/opt/librenms# su librenms
$ ./daily.sh
Updating to latest codebase                        OK
Updating Composer packages                         OK
Updating SQL-Schema                                OK
Updating submodules                                OK
Cleaning up DB                                     OK
Fetching notifications                             OK
Caching PeeringDB data                             OK
root@libnms:/opt/librenms# ./validate.php
====================================
Component | Version
--------- | -------
LibreNMS  | 1.64
DB Schema | 2020_04_13_150500_add_last_error_fields_to_bgp_peers (164)
PHP       | 7.4.6
Python    | 3.6.9
MySQL     | 10.1.44-MariaDB-0ubuntu0.18.04.1
RRDTool   | 1.7.0
SNMP      | NET-SNMP 5.7.3
====================================

[OK]    Composer Version: 1.10.6
[OK]    Dependencies up-to-date.
[OK]    Database connection successful
[FAIL]  Your database is out of date!
	[FIX]:
	./lnms migrate
root@libnms:/opt/librenms# su librenms -c "./lnms migrate"
**************************************
*     Application In Production!     *
**************************************

 Do you really wish to run this command? (yes/no) [no]:
 > yes

Migrating: 2020_04_06_001048_the_great_index_rename

In Connection.php line 669:

  SQLSTATE[42000]: Syntax error or access violation: 1091 Can't DROP 'deleted'; check that column/key exists (SQL: ALTER TABLE access_points DROP INDEX deleted, ADD INDEX access_points_deleted_index(deleted);)


In PDOStatement.php line 129:

  SQLSTATE[42000]: Syntax error or access violation: 1091 Can't DROP 'deleted'; check that column/key exists


In PDOStatement.php line 127:

  SQLSTATE[42000]: Syntax error or access violation: 1091 Can't DROP 'deleted'; check that column/key exists

Same issue here.
Anyone got this solved?
Tried
git pull
./daily.sh
Both runs ok but validate.php complains and I get the same errors for lnms migrate

Stuck on the same step.
Any solutions to this ?

So, I was able to get a workaround for it.
Running ./lnms migrate --pretend lists all the SQL queries that this script runs.
I manually ran those SQL queries in MySQL. Following that, My issue was resolved.

6 Likes

This worked for me. Thank you.

Are you ran all of this SQL queries ?

$ ./lnms migrate --pretend
**************************************
*     Application In Production!     *
**************************************

 Do you really wish to run this command? (yes/no) [no]:
 > yes

TheGreatIndexRename: ALTER TABLE access_points DROP INDEX deleted, ADD INDEX access_points_deleted_index(deleted);
TheGreatIndexRename: ALTER TABLE alerts DROP INDEX device_id, ADD INDEX alerts_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE alerts DROP INDEX rule_id, ADD UNIQUE INDEX alerts_device_id_rule_id_unique(device_id, rule_id);
TheGreatIndexRename: ALTER TABLE alerts DROP INDEX unique_alert, ADD INDEX alerts_rule_id_index(rule_id);
TheGreatIndexRename: 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);
TheGreatIndexRename: 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);
TheGreatIndexRename: ALTER TABLE alert_log DROP INDEX device_id, ADD INDEX alert_log_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE alert_log DROP INDEX rule_id, ADD INDEX alert_log_rule_id_index(rule_id);
TheGreatIndexRename: ALTER TABLE alert_log DROP INDEX time_logged, ADD INDEX alert_log_time_logged_index(time_logged);
TheGreatIndexRename: ALTER TABLE alert_rules DROP INDEX name, ADD UNIQUE INDEX alert_rules_name_unique(name);
TheGreatIndexRename: ALTER TABLE alert_schedulables DROP INDEX schedule_id, ADD INDEX alert_schedulables_schedule_id_index(schedule_id);
TheGreatIndexRename: ALTER TABLE api_tokens DROP INDEX token_hash, ADD UNIQUE INDEX api_tokens_token_hash_unique(token_hash);
TheGreatIndexRename: ALTER TABLE applications DROP INDEX unique_index, ADD UNIQUE INDEX applications_device_id_app_type_unique(device_id, app_type);
TheGreatIndexRename: ALTER TABLE application_metrics DROP INDEX application_metrics_app_id_metric_uindex, ADD UNIQUE INDEX application_metrics_app_id_metric_unique(app_id, metric);
TheGreatIndexRename: ALTER TABLE bgpPeers DROP INDEX device_id, ADD INDEX bgppeers_device_id_context_name_index(device_id, context_name);
TheGreatIndexRename: ALTER TABLE bgpPeers_cbgp DROP INDEX unique_index, ADD UNIQUE INDEX bgppeers_cbgp_device_id_bgppeeridentifier_afi_safi_unique(device_id, bgpPeerIdentifier, afi, safi);
TheGreatIndexRename: ALTER TABLE bgpPeers_cbgp DROP INDEX device_id, ADD INDEX bgppeers_cbgp_device_id_bgppeeridentifier_context_name_index(device_id, bgpPeerIdentifier, context_name);
TheGreatIndexRename: ALTER TABLE bill_data DROP INDEX bill_id, ADD INDEX bill_data_bill_id_index(bill_id);
TheGreatIndexRename: 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);
TheGreatIndexRename: ALTER TABLE bill_history DROP INDEX bill_id, ADD INDEX bill_history_bill_id_index(bill_id);
TheGreatIndexRename: 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);
TheGreatIndexRename: ALTER TABLE ciscoASA DROP INDEX device_id, ADD INDEX ciscoasa_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE component DROP INDEX device, ADD INDEX component_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE component DROP INDEX type, ADD INDEX component_type_index(type);
TheGreatIndexRename: ALTER TABLE component_prefs DROP INDEX component, ADD INDEX component_prefs_component_index(component);
TheGreatIndexRename: ALTER TABLE component_statuslog DROP INDEX device, ADD INDEX component_statuslog_component_id_index(component_id);
TheGreatIndexRename: ALTER TABLE config DROP INDEX uniqueindex_configname, ADD UNIQUE INDEX config_config_name_unique(config_name);
TheGreatIndexRename: ALTER TABLE customers DROP INDEX username, ADD UNIQUE INDEX customers_username_unique(username);
TheGreatIndexRename: ALTER TABLE devices DROP INDEX hostname, ADD INDEX devices_hostname_index(hostname);
TheGreatIndexRename: ALTER TABLE devices DROP INDEX last_poll_attempted, ADD INDEX devices_last_poll_attempted_index(last_poll_attempted);
TheGreatIndexRename: ALTER TABLE devices DROP INDEX last_polled, ADD INDEX devices_last_polled_index(last_polled);
TheGreatIndexRename: ALTER TABLE devices DROP INDEX os, ADD INDEX devices_os_index(os);
TheGreatIndexRename: ALTER TABLE devices DROP INDEX status, ADD INDEX devices_status_index(status);
TheGreatIndexRename: ALTER TABLE devices DROP INDEX sysName, ADD INDEX devices_sysname_index(sysName);
TheGreatIndexRename: ALTER TABLE devices_attribs DROP INDEX device_id, ADD INDEX devices_attribs_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE devices_perms DROP INDEX user_id, ADD INDEX devices_perms_user_id_index(user_id);
TheGreatIndexRename: ALTER TABLE device_graphs DROP INDEX device_id, ADD INDEX device_graphs_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE device_groups DROP INDEX name, ADD UNIQUE INDEX device_groups_name_unique(name);
TheGreatIndexRename: ALTER TABLE device_perf DROP INDEX device_id, ADD INDEX device_perf_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE device_relationships DROP INDEX device_relationship_child_device_id_fk, ADD INDEX device_relationships_child_device_id_index(child_device_id);
TheGreatIndexRename: ALTER TABLE entPhysical DROP INDEX device_id, ADD INDEX entphysical_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE eventlog DROP INDEX datetime, ADD INDEX eventlog_datetime_index(datetime);
TheGreatIndexRename: ALTER TABLE eventlog DROP INDEX device_id, ADD INDEX eventlog_device_id_index(device_id);
TheGreatIndexRename: alter table `entityState` drop index `entityState_device_id_index`
TheGreatIndexRename: alter table `entityState` add index `entitystate_device_id_index`(`device_id`)
TheGreatIndexRename: ALTER TABLE graph_types DROP INDEX graph_section, ADD INDEX graph_types_graph_section_index(graph_section);
TheGreatIndexRename: ALTER TABLE graph_types DROP INDEX graph_subtype, ADD INDEX graph_types_graph_subtype_index(graph_subtype);
TheGreatIndexRename: ALTER TABLE graph_types DROP INDEX graph_type, ADD INDEX graph_types_graph_type_index(graph_type);
TheGreatIndexRename: ALTER TABLE hrDevice DROP INDEX device_id, ADD INDEX hrdevice_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE ipsec_tunnels DROP INDEX unique_index, ADD UNIQUE INDEX ipsec_tunnels_device_id_peer_addr_unique(device_id, peer_addr);
TheGreatIndexRename: ALTER TABLE ipv4_addresses DROP INDEX interface_id, ADD INDEX ipv4_addresses_port_id_index(port_id);
TheGreatIndexRename: ALTER TABLE ipv4_mac DROP INDEX mac_address, ADD INDEX ipv4_mac_mac_address_index(mac_address);
TheGreatIndexRename: ALTER TABLE ipv4_mac DROP INDEX port_id, ADD INDEX ipv4_mac_port_id_index(port_id);
TheGreatIndexRename: ALTER TABLE ipv6_addresses DROP INDEX interface_id, ADD INDEX ipv6_addresses_port_id_index(port_id);
TheGreatIndexRename: ALTER TABLE juniAtmVp DROP INDEX port_id, ADD INDEX juniatmvp_port_id_index(port_id);
TheGreatIndexRename: ALTER TABLE links DROP INDEX src_if, ADD INDEX links_local_port_id_index(local_port_id);
TheGreatIndexRename: ALTER TABLE links DROP INDEX dst_if, ADD INDEX links_remote_port_id_index(remote_port_id);
TheGreatIndexRename: ALTER TABLE loadbalancer_vservers DROP INDEX device_id, ADD INDEX loadbalancer_vservers_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE locations DROP INDEX locations_location_uindex, ADD UNIQUE INDEX locations_location_unique(location);
TheGreatIndexRename: ALTER TABLE mac_accounting DROP INDEX interface_id, ADD INDEX mac_accounting_port_id_index(port_id);
TheGreatIndexRename: ALTER TABLE mac_accounting DROP INDEX interface_id_2;
TheGreatIndexRename: ALTER TABLE mefinfo DROP INDEX device_id, ADD INDEX mefinfo_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE mefinfo DROP INDEX mefID, ADD INDEX mefinfo_mefid_index(mefID);
TheGreatIndexRename: ALTER TABLE mempools DROP INDEX device_id, ADD INDEX mempools_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE mpls_lsps DROP INDEX device_id, ADD INDEX mpls_lsps_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE mpls_lsp_paths DROP INDEX device_id, ADD INDEX mpls_lsp_paths_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE mpls_saps DROP INDEX device_id, ADD INDEX mpls_saps_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE mpls_sdps DROP INDEX device_id, ADD INDEX mpls_sdps_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE mpls_sdp_binds DROP INDEX device_id, ADD INDEX mpls_sdp_binds_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE mpls_services DROP INDEX device_id, ADD INDEX mpls_services_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE mpls_tunnel_ar_hops DROP INDEX device_id, ADD INDEX mpls_tunnel_ar_hops_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE mpls_tunnel_c_hops DROP INDEX device_id, ADD INDEX mpls_tunnel_c_hops_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE munin_plugins DROP INDEX device_id, ADD INDEX munin_plugins_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE munin_plugins DROP INDEX `UNIQUE`, ADD UNIQUE INDEX munin_plugins_device_id_mplug_type_unique(device_id, mplug_type);
TheGreatIndexRename: ALTER TABLE munin_plugins_ds DROP INDEX splug_id, ADD UNIQUE INDEX munin_plugins_ds_mplug_id_ds_name_unique(mplug_id, ds_name);
TheGreatIndexRename: ALTER TABLE notifications DROP INDEX checksum, ADD UNIQUE INDEX notifications_checksum_unique(checksum);
TheGreatIndexRename: ALTER TABLE ospf_areas DROP INDEX device_area, ADD UNIQUE INDEX ospf_areas_device_id_ospfareaid_context_name_unique(device_id, ospfAreaId, context_name);
TheGreatIndexRename: 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);
TheGreatIndexRename: 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);
TheGreatIndexRename: 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);
TheGreatIndexRename: ALTER TABLE packages DROP INDEX device_id, ADD INDEX packages_device_id_index(device_id);
TheGreatIndexRename: 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);
TheGreatIndexRename: ALTER TABLE perf_times DROP INDEX type, ADD INDEX perf_times_type_index(type);
TheGreatIndexRename: ALTER TABLE pollers DROP INDEX poller_name, ADD UNIQUE INDEX pollers_poller_name_unique(poller_name);
TheGreatIndexRename: 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);
TheGreatIndexRename: ALTER TABLE ports DROP INDEX device_ifIndex, ADD UNIQUE INDEX ports_device_id_ifindex_unique(device_id, ifIndex);
TheGreatIndexRename: ALTER TABLE ports DROP INDEX if_2, ADD INDEX ports_ifdescr_index(ifDescr);
TheGreatIndexRename: ALTER TABLE ports_adsl DROP INDEX interface_id, ADD UNIQUE INDEX ports_adsl_port_id_unique(port_id);
TheGreatIndexRename: ALTER TABLE ports_fdb DROP INDEX mac_address, ADD INDEX ports_fdb_mac_address_index(mac_address);
TheGreatIndexRename: 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);
TheGreatIndexRename: ALTER TABLE ports_stp DROP INDEX device_id, ADD UNIQUE INDEX ports_stp_device_id_port_id_unique(device_id, port_id);
TheGreatIndexRename: ALTER TABLE ports_vlans DROP INDEX `unique`, ADD UNIQUE INDEX ports_vlans_device_id_port_id_vlan_unique(device_id, port_id, vlan);
TheGreatIndexRename: ALTER TABLE processes DROP INDEX device_id, ADD INDEX processes_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE processors DROP INDEX device_id, ADD INDEX processors_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE proxmox DROP INDEX cluster_vm, ADD UNIQUE INDEX proxmox_cluster_vmid_unique(cluster, vmid);
TheGreatIndexRename: ALTER TABLE proxmox_ports DROP INDEX vm_port, ADD UNIQUE INDEX proxmox_ports_vm_id_port_unique(vm_id, port);
TheGreatIndexRename: ALTER TABLE sensors DROP INDEX sensor_host, ADD INDEX sensors_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE sensors DROP INDEX sensor_class, ADD INDEX sensors_sensor_class_index(sensor_class);
TheGreatIndexRename: ALTER TABLE sensors DROP INDEX sensor_type, ADD INDEX sensors_sensor_type_index(sensor_type);
TheGreatIndexRename: 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);
TheGreatIndexRename: ALTER TABLE sensors_to_state_indexes DROP INDEX state_index_id, ADD INDEX sensors_to_state_indexes_state_index_id_index(state_index_id);
TheGreatIndexRename: ALTER TABLE services DROP INDEX service_host, ADD INDEX services_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE session DROP INDEX session_value, ADD UNIQUE INDEX session_session_value_unique(session_value);
TheGreatIndexRename: ALTER TABLE slas DROP INDEX device_id, ADD INDEX slas_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE slas DROP INDEX unique_key, ADD UNIQUE INDEX slas_device_id_sla_nr_unique(device_id, sla_nr);
TheGreatIndexRename: ALTER TABLE state_indexes DROP INDEX state_name, ADD UNIQUE INDEX state_indexes_state_name_unique(state_name);
TheGreatIndexRename: 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);
TheGreatIndexRename: ALTER TABLE storage DROP INDEX device_id, ADD INDEX storage_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE storage DROP INDEX index_unique, ADD UNIQUE INDEX storage_device_id_storage_mib_storage_index_unique(device_id, storage_mib, storage_index);
TheGreatIndexRename: ALTER TABLE stp DROP INDEX stp_host, ADD INDEX stp_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE syslog DROP INDEX device_id, ADD INDEX syslog_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE syslog DROP INDEX program, ADD INDEX syslog_program_index(program);
TheGreatIndexRename: ALTER TABLE syslog DROP INDEX datetime, ADD INDEX syslog_timestamp_index(timestamp);
TheGreatIndexRename: ALTER TABLE syslog DROP INDEX `device_id-timestamp`, ADD INDEX syslog_device_id_timestamp_index(device_id, timestamp);
TheGreatIndexRename: ALTER TABLE syslog DROP INDEX priority_level, ADD INDEX syslog_priority_level_index(priority, level);
TheGreatIndexRename: ALTER TABLE tnmsneinfo DROP INDEX device_id, ADD INDEX tnmsneinfo_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE tnmsneinfo DROP INDEX neID, ADD INDEX tnmsneinfo_neid_index(neID);
TheGreatIndexRename: ALTER TABLE toner DROP INDEX device_id, ADD INDEX toner_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE ucd_diskio DROP INDEX device_id, ADD INDEX ucd_diskio_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE users DROP INDEX username, ADD UNIQUE INDEX users_auth_type_username_unique(auth_type, username);
TheGreatIndexRename: ALTER TABLE vminfo DROP INDEX device_id, ADD INDEX vminfo_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE vminfo DROP INDEX vmwVmVMID, ADD INDEX vminfo_vmwvmvmid_index(vmwVmVMID);
TheGreatIndexRename: ALTER TABLE vrfs DROP INDEX device_id, ADD INDEX vrfs_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE vrf_lite_cisco DROP INDEX context, ADD INDEX vrf_lite_cisco_context_name_index(context_name);
TheGreatIndexRename: 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);
TheGreatIndexRename: ALTER TABLE vrf_lite_cisco DROP INDEX device, ADD INDEX vrf_lite_cisco_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE vrf_lite_cisco DROP INDEX vrf, ADD INDEX vrf_lite_cisco_vrf_name_index(vrf_name);
TheGreatIndexRename: ALTER TABLE widgets DROP INDEX widget, ADD UNIQUE INDEX widgets_widget_unique(widget);
TheGreatIndexRename: ALTER TABLE wireless_sensors DROP INDEX sensor_host, ADD INDEX wireless_sensors_device_id_index(device_id);
TheGreatIndexRename: ALTER TABLE wireless_sensors DROP INDEX sensor_class, ADD INDEX wireless_sensors_sensor_class_index(sensor_class);
TheGreatIndexRename: ALTER TABLE wireless_sensors DROP INDEX sensor_type, ADD INDEX wireless_sensors_sensor_type_index(sensor_type);
PollerClusterSettings: alter table `poller_cluster` add `poller_enabled` tinyint(1) null, add `poller_frequency` int null, add `poller_workers` int null, add `poller_down_retry` int null, add `discovery_enabled` tinyint(1) null, add `discovery_frequency` int null, add `discovery_workers` int null, add `services_enabled` tinyint(1) null, add `services_frequency` int null, add `services_workers` int null, add `billing_enabled` tinyint(1) null, add `billing_frequency` int null, add `billing_calculate_frequency` int null, add `alerting_enabled` tinyint(1) null, add `alerting_frequency` int null, add `ping_enabled` tinyint(1) null, add `ping_frequency` int null, add `update_enabled` tinyint(1) null, add `update_frequency` int null, add `loglevel` varchar(8) null, add `watchdog_enabled` tinyint(1) null, add `watchdog_log` varchar(255) null

Or did you have less of them ? Thank you

2 Likes

I ran all of them. A large portion at the beginning of the list gave responses that indicated they had already been ran. The rest look awhile on most of my machines as my syslog tables are large. But everything work fine afterwards.

same as @John_Wilson, few had already finished, had to manually run it for about 50% of them.

I had to run for half as well. It still thinks I need to run the migrate script after, quoting the poller_cluster change line. When I examine my DB, the columns already exist in the table… However my pollers are working again now.

Precisely. Once the index renaming queries are executed, one can run the ./lnms migrate to finish the poller_cluster related queries.

1 Like

Hi all, I’m facing the same issue. Judging by the posts above I need to run each of the SQL statements manually. However when trying to run the command below I’m getting an error.

MariaDB [librenms]> create table `port_group_port`;
ERROR 1113 (42000): A table must have at least 1 column
MariaDB [librenms]>

Clearly I know next to nothing about SQL/MariaDB so I’d be very grateful if someone can through some light on this? Or better still explain how I can get LibreNMS up and running again! Thanks

Worked for me too , even when Igot some error messages after execuing the queries; this fixed the issue with the ports.
I still need to update MariaDB to the suggested version.
Thanks for the solution !

1 Like

the ‘create table’ command is incomplete. you need to pass the columns

Thanks for the suggestion, but where can I grab that information from? I did look in the lnms script hoping to find something I could copy and paste but I was expecting too much :wink:

If you had old mysql/MariaDB version like me, ‘2020_12_14_091314_create_port_groups_table’ the migration is apparently broken, some changes (or all) were made but the migration wasn’t added to the list of applied migrations in the database. I ran the commands for that migration manually and confirmed that the changes from database/migrations/2020_12_14_091314_create_port_groups_table.php are applied but as with other people that did that manually, DB schema version was not updated. My solution was to insert a row in migrations table consisting of the name of the migration 2020_12_14_091314_create_port_groups_table. After that i ran the migrate command and it applied all other pending migrations. I’m passing the validation now but you should be careful and if you don’t want to take any risks, wait for the solution from maintainers.

We did get the DB upgraded and still have the final error with one of the tables. Any advise would be great. Apologies if this is not in the correct location, first time posting.

Librenms.log:

[previous exception] [object] (Doctrine\DBAL\Driver\PDO\Exception(code: 42S02): SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘librenms.printer_supplies’ doesn’t exist at /opt/librenms/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDO/Exception.php:18)
[stacktrace]

Component Version
LibreNMS 21.4.0
DB Schema 2020_12_14_091314_create_port_group_port_table (202)
PHP 7.3.27
Python 3.6.8
MySQL 10.5.9-MariaDB
RRDTool 1.7.1
SNMP NET-SNMP 5.7.2
====================================

[OK] Composer Version: 2.0.12
[OK] Dependencies up-to-date.
[OK] Database connection successful
[FAIL] Your database is out of date!
[FIX]:
./lnms migrate

-bash-4.2$ ./lnms migrate --pretend


  • Application In Production!     *
    

Do you really wish to run this command? (yes/no) [no]:

yes

CreatePortGroupsTable: create table port_groups (id int unsigned not null auto_increment primary key, name varchar(255) not null, desc varchar(255) null) default character set utf8mb4 collate ‘utf8mb4_unicode_ci’
CreatePortGroupsTable: alter table port_groups add unique port_groups_name_unique(name)
MigrateToUtf8mb4: ALTER SCHEMA librenms DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_unicode_ci;
MigrateToUtf8mb4: select TABLE_NAME from information_schema.tables where table_schema = ?
MigrateToUtf8mb4: select * from information_schema.columns where table_schema = ? and CHARACTER_SET_NAME is not null and COLLATION_NAME is not null and (CHARACTER_SET_NAME != ? or COLLATION_NAME != ?)
RenameTonerTable: rename table toner to printer_supplies

In SchemaException.php line 86:

There is no column with name ‘toner_id’ on table ‘printer_supplies’.

-bash-4.2$

same error here, is there any work arround ?

1 Like

So assuming that I can laboriously drag this thing back into working again, is there anything I can do to avoid the continuous slow-motion disasters ?

I can’t update Mariadb because I’m running Ubuntu 18, which is what came on the virtual appliance I downloaded when I first set up librenms.