Need help fixing "database inconsistencies"

This is on an Ubuntu 20.04.3 LTS system. I don’t know how long this has been going on, but when trying to view any device’s “Ports” tab I get this error message:

Database inconsistent

Database inconsistencies found during a database error, please fix to continue.

Your database is out of date!

./lnms migrate

Check your log for more details. (librenms.log)

If you need additional help, you can find how to get help at How to get help - LibreNMS Docs.

Manually running “./daily.sh” gives no errors. But running “./validate.php” gives these errors:

$ ./validate.php

Component Version
LibreNMS 22.9.0
DB Schema 2021_12_02_113537_ports_stp_designated_cost_change_to_int (231)
PHP 7.4.3
Python 3.8.10
Database MariaDB 10.3.34-MariaDB-0ubuntu0.20.04.1
RRDTool 1.7.2
SNMP 5.8

====================================

[OK] Composer Version: 2.4.2
[OK] Dependencies up-to-date.
[OK] Database connection successful
[FAIL] Your database is out of date!
[FIX]:
./lnms migrate
Attempt to fix this issue (y or n)?:y

In Connection.php line 712:

SQLSTATE[42S01]: Base table or view already exists: 1050 Table ‘isis_adjace
ncies’ already exists (SQL: create table isis_adjacencies (id int unsig
ned not null auto_increment primary key, device_id int not null, port_id int not null, ifIndex int not null, isisISAdjState varchar(13) not nu
ll, isisISAdjNeighSysType varchar(128) not null, isisISAdjNeighSysID va
rchar(128) not null, isisISAdjNeighPriority varchar(128) not null, isisI SAdjLastUpTime bigint unsigned not null, isisISAdjAreaAddress varchar(12
8) not null, isisISAdjIPAddrType varchar(128) not null, isisISAdjIPAddrA ddress varchar(128) not null) default character set utf8mb4 collate ‘utf8m
b4_unicode_ci’)

In Exception.php line 18:

SQLSTATE[42S01]: Base table or view already exists: 1050 Table ‘isis_adjace
ncies’ already exists

In PDOStatement.php line 117:

SQLSTATE[42S01]: Base table or view already exists: 1050 Table ‘isis_adjace
ncies’ already exists

I see that somebody had previously asked something similar here, but got no answer

And this seems to be similar (with regards to the “Ports” tab not working), but as they are entirely different tables I cannot see how to apply any of their advice to mine:

Some more info; doing a “tail -f” on the librenms.log when clicking onto a device’s “Ports” tab gives this:

[2022-09-22T08:46:34.244990-04:00] production.ERROR: SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘librenms.ports_vdsl’ doesn’t exist (SQL: select exists(select * from ports_vdsl inner join ports on ports.port_id = ports_vdsl.port_id where ports.device_id = 201) as exists) {“userId”:3,“exception”:"[object] (Illuminate\Database\QueryException(code: 42S02): SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘librenms.ports_vdsl’ doesn’t exist (SQL: select exists(select * from ports_vdsl inner join ports on ports.port_id = ports_vdsl.port_id where ports.device_id = 201) as exists) at /opt/librenms/vendor/laravel/framework/src/Illuminate/Database/Connection.php:712)
[previous exception] [object] (Doctrine\DBAL\Driver\PDO\Exception(code: 42S02): SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘librenms.ports_vdsl’ doesn’t exist at /opt/librenms/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDO/Exception.php:18)
[previous exception] [object] (PDOException(code: 42S02): SQLSTATE[42S02]: Base table or view not found: 1146 Table ‘librenms.ports_vdsl’ doesn’t exist at /opt/librenms/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:82)"}