Po aktualizacji systemu GLPI do wersji 10.0.16 zmienił się schemat tabeli glpi_itils_projects, przez co przestała działać poprawnie jedna z wtyczek o nazwie generic object.
Zastosowałem poniższe rozwiązanie:
- najpierw sprawdziłem integralność bazy danych komendą:
php bin/console database:check_schema_integrity
co poskutkowało komunikatem:
Schemat tabeli różni się dla tabeli “glpi_itils_projects”.
— Oczekiwany schemat bazy danych
+++ Bieżący schemat bazy danych
@@ @@CREATE TABLEglpi_itils_projects
(id
int NOT NULL AUTO_INCREMENT,items_id
int unsigned NOT NULL DEFAULT 0,changes_id
int NOT NULL DEFAULT 0,itemtype
varchar(100) NOT NULL DEFAULT ”,projects_id
int NOT NULL DEFAULT 0,
PRIMARY KEY (id
),UNIQUE KEYunicity
(itemtype
,items_id
,projects_id
),
KEYprojects_id
(projects_id
)
) - w kolejnym etapie należało wpisać następujące formuły w mysql:
ALTER TABLEglpi_itils_projects
CHANGEchanges_id
items_id
int(11) NOT NULL DEFAULT ‘0’;
ALTER TABLEglpi_itils_projects
ADD UNIQUEunicity
(itemtype
,items_id
,projects_id
); - W ostatnim etapie należy zaktualizować kolumny klucza głównego/obcego:
php bin/console migration:unsigned_keys