[Erledigt] Fehlermeldung nach Upgrade von 1.2.8 auf 1.3.2  Unten

  • Hallo!
    Vor kurzem ist mein Versuch die lokale Zikula-Installation auf die Version 1.3.2 umzustellen gescheitert. Ich bin dabei exakt nach der Wiki-Anleitung zum Upgrade 1.2.x auf 1.3.x vorgegangen.
    Beim Aufruf der Seite erhalte ich die folgende Meldung statt der Startseite:

    Code

    Error in DBUtil::executeSQL: SELECT id as "id",modname as "modname",name as "name",value as "value" FROM module_vars as tbl
    SQLSTATE[42S02]: Base table or view not found: 1146 Table 'soligp01.module_vars' doesn't exist

    Die Tabelle 'module_vars' ist jedoch vorhanden. Das habe ich mit phpMyAdmin überprüft. Was könnte die Ursache für die Meldung sein?

    Mit vielen Grüßen
    Michael
  • Hi Michael,

    das Liest sich so als würde er eine tabelle mit dem Präfix "soligp01" vermissen. Haben Deine Tabellen in der 1.2.8 tatsächlich diesen Präfix?

    -.-.-.-.-.-.-.-.-.-.-.-
    Frank
  • Nein. Das ist der Name der Datenbank der Tabellen-Präfix ist 'z'
    Auszug aus der config.php:

    Code

    $ZConfig['System']['prefix'] = 'z';         // database prefix (deprecated).


    Mit vielen Grüßen
    Michael
  • dann scheint dort was nicht zu stimmen, denn nach Deiner Fehlermeldung sucht er die Tabelle "soligp01.module_vars" und kann diese nicht finden. Evtl. irgendwo falsche Einstellungen mitgegeben?

    -.-.-.-.-.-.-.-.-.-.-.-
    Frank
  • Hallo Frank,

    Quote

    Evtl. irgendwo falsche Einstellungen mitgegeben?

    nur wo bzw. in welcher Datei?
    Nachfolgend mal die beiden Auszüge aus config/config.php:

    Code

    global $ZConfig;
    $ZConfig['System']['installed'] = 1;        // installer will change this during installation
    $ZConfig['System']['temp'] = 'ztemp';       // location of temporary folder
    $ZConfig['System']['datadir'] = 'userdata';     // location of site data files
    $ZConfig['System']['prefix'] = 'z';         // database prefix (deprecated).
    $ZConfig['System']['development'] = 0;      // development mode 1/0 for on or off.  Disable in production mode.
    $ZConfig['System']['legacy_prefilters'] = true; // enable legacy template prefilters
    $ZConfig['System']['compat_layer'] = true;  // enable loading of compat layers
    $ZConfig['System']['system.chmod_dir'] = 0777;  // The default chmod for new directories created by Zikula.

    // ----------------------------------------------------------------------
    // This is the definition for the default Zikula system database.
    // It must be named 'default'
    // ----------------------------------------------------------------------
    $ZConfig['DBInfo']['databases']['default']['host'] = 'localhost';
    $ZConfig['DBInfo']['databases']['default']['user'] = '****';
    $ZConfig['DBInfo']['databases']['default']['password'] = '****';
    $ZConfig['DBInfo']['databases']['default']['dbname'] = 'soligp01';
    $ZConfig['DBInfo']['databases']['default']['dbdriver'] = 'mysql';
    $ZConfig['DBInfo']['databases']['default']['dbtabletype'] = 'myisam';
    $ZConfig['DBInfo']['databases']['default']['charset'] = 'utf8';
    $ZConfig['DBInfo']['databases']['default']['collate'] = 'utf8_general_ci';


    Wenn ich das obige 'soligp01' durch 'z' ersetze kann keine Verbindung zu der Datenbank aufgebaut werden - was zu erwarten war. Kann es sein, dass in dem Block noch eine Zeile mit dem Database-Prefix fehlt? Sinngemäß geraten eine der folgenden Varianten:

    Code

    $ZConfig['DBInfo']['databases']['default']['prefix'] = 'z';
    $ZConfig['DBInfo']['databases']['default']['tableprefix'] = 'z';
    $ZConfig['DBInfo']['databases']['default']['dbtableprefix'] = 'z';


    Ergänzung:
    Obige drei Versuche ins Blaue änderten nichts an der Meldung

    Mit vielen Grüßen
    Michael
  • Quote

    das Liest sich so als würde er eine tabelle mit dem Präfix "soligp01" vermissen. Haben Deine Tabellen in der 1.2.8 tatsächlich diesen Präfix?


    Quote

    dann scheint dort was nicht zu stimmen, denn nach Deiner Fehlermeldung sucht er die Tabelle "soligp01.module_vars" und kann diese nicht finden. Evtl. irgendwo falsche Einstellungen mitgegeben?


    Nee, das ist hier kein Tabellenpräfix, sondern die Datenbank. Die Trennung wird hier mit einem "Punkt" gemacht.


    ---
    @calamist: Schau doch mal mit phpMyAdmin in deine Datenbank. Haben immer noch alle deine Tabellen ein einheitliches Präfix? Exakt dieses sollte dann in der config.php eingetragen werden.

    Aber ich befürchte schlimmeres: Kann es sein, dass du bereits in Upgrade versucht hattest und dabei deine Datenbanktabellen schon teilweise verändert wurden? Dann dürfte sich jetzt ein Durcheinander an Tabellen mit und ohne Präfixe in der DB befinden. Dann wäre hier eine Datenrücksicherung notwendig.

    ---

    @calamist: Du solltest beim Posten der config.php vorher die Kennwörter entfernen. Ich habe dein Post mal bearbeitet.
  • Und mal checken dass auf jeden Fall die neue 1.3.2 config.php hochgeladen wurde. Normalerweise sollte die ja nur Leseberechtigung haben. Wenn man vergisst die Schreibberechtigungen zu setzen, ist die 1.2.8 config.php noch drin. Das geht dann auch schief.

    In 1.3 gibts den Präfix eigentlich nicht mehr. Er wird nur noch einmal für die Konvertierung der Datenbank benötigt.

    Gruß Sebastian
  • Quote

    @calamist: Schau doch mal mit phpMyAdmin in deine Datenbank. Haben immer noch alle deine Tabellen ein einheitliches Präfix? Exakt dieses sollte dann in der config.php eingetragen werden.

    Alle Tabellen beginnen mit 'z_' in der config.php steht:

    Code

    $ZConfig['System']['prefix'] = 'z';

    Muss der 'unterstrich' auch in der config.php angegeben werden?
    @Sebastian

    Quote

    In 1.3 gibts den Präfix eigentlich nicht mehr. Er wird nur noch einmal für die Konvertierung der Datenbank benötigt.

    Da alle Tabellen den Präfix noch haben, scheint eine Konvertierung nicht stattgefunden zu haben? Zur Sicherheit habe ich die config.php aus dem Download-Paket nochmal manuell in den Ordner 'config' kopiert und dbname, user, passwort, präfix manuell eingetragen.

    Leider bleibt die fehlermeldung die gleiche.

    Mit vielen Grüßen
    Michael
  • Ich habe jetzt noch einmal von vorne begonnen:
    1. Downgrade von Dateien und Datenbank mit Hilfe eines Backups
    2. Vorbereitung und Durchführung des Upgrades nach der Anleitung im Wiki
    Diesesmal hat es geklappt - zusätzlich zum ersten Versuch hatte ich dieses mal alle Module vor dem starten des Ubgrade-Skripts in einen Backup-Ordner verschoben. Ob es daran lag weiß ich nicht. Jedenfalls hat die Aktualisierung der Datenbank jetzt geklappt.

    Trotzdem vielen Dank für die Hilfestellungen und Tipps.

    Mit vielen Grüßen
    Michael
  • 0 Benutzer

Diese Angaben basieren auf den Useraktivitäten der letzten 30 Minuten.