ich habe die gleiche Meldung nach dem Update (nach Anleitung) von 2.0.9 auf 2.1.3 erhalten und jetzt geht garnichts mehr.
Kein Login mehr möglich und auch die Seiten ohne Login funktionieren nicht mehr.
Diese Meldung lässt darauf schliessen, dass entweder das Datenbankupdate nicht komplett durchgelaufen ist, oder ihr nicht alle Dateien von der neuen Version in adm_program neu überspielt habt.
S Q L - E R R O R
CODE: 1025
Error on rename of './db261783343/adm_dates' to './db261783343/#sql2-1325-8f1c0e3' (errno: 152)
B A C K T R A C E
FILE: adm_program/system/db/mysql.php
LINE: 193
CALL: DB->db_error()
FILE: adm_program/system/db/mysql.php
LINE: 77
CALL: MySqlDB->db_error()
FILE: adm_install/update.php
LINE: 188
CALL: MySqlDB->query()
Beim zweiten mal lief es ohne Fehlermeldung durch. "db_version" steht auf 2.1.3. In MySQL 5.1 habe ich Root-Rechte.
da steht natürlich auch "2.1.3" und Beta ist "0" aber "db_version_beta" finde ich nicht in der Datenbank.
Den zweiten Durchlauf des Update-Scriptes habe ich allerdings ohne zurückspielen des Datenbank-Backups gemacht. Ich vermute die Datenbank ist nicht vollständig konvertiert worden.
Also ist wohl erst zu klären, warum der SQL-Error aufgetreten ist.
Der fehlende Eintrag ist auf jeden Fall schon mal der Grund, warum die Meldung kommt.
Warum der SQL-Fehler bei dir kommt, ist mir im Moment nicht klar, zumal du alle Rechte hast. Ich würde dich bitten, noch einmal ein DB-Dump von der 2.0 einzuspielen und das Update noch einmal zu starten.
Falls der Fehler wieder Auftritt schau mal bitte in die Tabelle adm_dates, ob dort die Spalte dat_headline varchar(100) ist und ob die Spalte dat_country existiert.
dat_headline ist varchar(100).
dat_country ist varchar(100).
db_version ist 2.1.u.
db_version_beta fehlt.
"ALTER TABLE adm_dates DROP FOREIGN KEY adm_FK_DAT_USR
[22-May-2009 11:09:54] 1025: Error on rename of '.\hgv\adm_dates' to '.\hgv\#sql2-3a8-43' (errno: 152) "
Hier hängt es sich auf. "adm_FK_DAT_USR" kann ich auch nicht finden sondern nur "DAT_USR_FK".
show innodb status ergibt:
LATEST FOREIGN KEY ERROR
------------------------
090522 11:09:54 Error in dropping of a foreign key constraint of table "hgv"."adm_dates",
in SQL command
ALTER TABLE adm_dates DROP FOREIGN KEY adm_FK_DAT_USR
Cannot find a constraint with the given id "adm_FK_DAT_USR".
die Datenbank war immer InnoDB. Habe Amidio lokal aufgesetzt, mit Daten gefüllt und dann exportiert.
Auf dem Webserver habe ich Amidio installiert und dann die Datenbank importiert. Unter 2.0.9 lief alles fehlerfrei.
Habe das Update lokal und auf dem Webserver probiert, auf beiden die gleichen Fehler.
Offenbar sind keine Constraints vorhanden.
Was soll ich jetzt machen?
Um die DB wieder komplett herzustellen, könntest du mal einen Export von deiner DB (Version 2.0) ohne Struktur machen, also nur die Daten. Dann installierst du die 2.0 mit demselben Präfix neu und entfernst dann alle Daten aus den Tabellen. In diese neue Struktur (hoffentlich mit Konstraints) könntest du jetzt deine exportierten Daten importieren. Dann sollte hoffentlich alles wieder in Ordnung sein und du kannst auf die 2.1 updaten.
Habe das Problem jetzt folgendermaßen gelöst:
Ich habe aus der Datei ../admidio/adm_install/db_scripts/db.sql der Version 2.0.9 alles ausser den Constraints entfernt. %PRAEFIX% habe ich durch mein verwendetes Präfix ersetzt und das Script dann ausgeführt. Danach waren alle Constraints wieder vorhanden und das Update auf 2.1.3 lief problemlos durch.
das freut mich zu lesen.
An deine Variante hatte ich auch schon gedacht, allerdings muss man hier schon ein paar SQL-Kenntnisse haben bzw. kann diese Variante fehleranfällig sein, aus diesem Grund habe ich die andere Variante gepostet. Aber du scheinst dich ja ganz gut mit SQL auszukennen.
Mir ist noch eine Möglichkeit eingefallen, wie diese Constraints evtl. bei dir verloren gegangen sind. Vielleicht hast du mal ein Backup erstellt, welche die Struktur ohne Constraints enthält. Dies kann man bei vielen Programmen ja einstellen, was er alles in ein Backup aufnehmen soll. Beim Zurückspielen waren sie dann nicht mehr in der DB.