Skip to main content

GLPI Plugin Datenbank initialisieren

Einleitung

Wenn wir Daten in GLPI permanent machen wollen, müssen wir dies über Datenbanken realisieren. Da GLPI von Haus aus eine Datenbank benötigt wollen wir diese verwenden um dort unsere Datei abzulegen.

hook.php

Um unsere Plugin Datenbank zu initialisieren, müssen wir in der install Funktion ein paar Zeilen Code hinzufügen und diesen mit unserem SQL Befehl ausstatten. 

So könnte der Code aussehen.

<?php
    function plugin_debitors_install()
    {
        global $DB;
        
        $migrate = New Migration(100);

        //Überprüfen ob Tabelle existiert
        if(!$DB->tableExists('glpi_plugin_debitors_debitors'))
        {
            $query = "CREATE TABLE glpi_plugin_debitors_debitors (id INT, name VARCHAR(50))";

            $DB->queryOrDie($query, $DB->error());
        }

        $migrate->executeMigration();
        return true;
    }

  function plugin_debitors_uninstall() {
     global $DB;

     $tables = [
        'debitors'
     ];

     foreach ($tables as $table) {
        $tablename = 'glpi_plugin_debitors_' . $table;

        if ($DB->tableExists($tablename)) {
           $DB->queryOrDie(
              "DROP TABLE `$tablename`",
              $DB->error()
           );
        }
     }

     return true;
  }