DB Problem bei der Reparatur der Core CB

11 years 9 months ago #201966 by Mazze85
Hallo,

wenn ich die überprüfung starte bekomme ich den fehler angezeigt:


Core CB Datenbank Strukturen unterschiedlich:

Table #__comprofiler Index PRIMARY does not exist

Table #__comprofiler Index user_id does not exist

Die Unterschiede in den Core CB Datenbank Strukturen können behoben (angepasst) werden, mit einem Klick auf: : Hier klicken für die Bereinigung (anpassen) aller Core CB Datenbank Unterschiede, die oben gelistet wurden (Es ist ebenso möglich hier zu klicken, um eine Vorschau der angepassten Queries im Probelauf zu sehen), aber in allen Fällen wird ein vorheriges Backup der Datenbank dringend empfohlen weil diese Korrekturen die Datenbank verändern.


Mache ich dann:

Hier klicken für die Bereinigung (anpassen) aller Core CB Datenbank Unterschiede, die oben gelistet wurden

bekomme ich den fehler:

Core CB Datenbank Korrekturen fehlerhaft:

CBSQLupgrader::changeIndex (new) of Table #__comprofiler Index PRIMARY failed with SQL error: Duplicate entry '42' for key 1 SQL=ALTER TABLE `fanclubhuette_comprofiler` ADD PRIMARY KEY (`id`)
ALTER TABLE `#__comprofiler` ADD PRIMARY KEY (`id`)

CBSQLupgrader::changeIndex (new) of Table #__comprofiler Index user_id failed with SQL error: Duplicate entry '42' for key 1 SQL=ALTER TABLE `fanclubhuette_comprofiler` ADD UNIQUE KEY `user_id` (`user_id`)
ALTER TABLE `#__comprofiler` ADD UNIQUE KEY `user_id` (`user_id`)


Jemand eine lösung zum beheben ?

Please Log in to join the conversation.

11 years 9 months ago - 11 years 9 months ago #201997 by Frank Behnke
Replied by Frank Behnke on topic Re: DB Problem bei der Reparatur der Core CB
Hallo Mazze85!

Du hast folgende Zeilen geschrieben:

Mazze85 wrote: Hallo,

wenn ich die überprüfung starte bekomme ich den fehler angezeigt:

Core CB Datenbank Strukturen unterschiedlich:

Table #__comprofiler Index PRIMARY does not exist

Table #__comprofiler Index user_id does not exist


MySQL, wie eigentlich alle Datenbanksysteme benötigen einen Primär-Index, damit in den Datensätzen auch gesucht werden kann. In Deinem Fall scheint dieser PRIMARY Index gelöscht worden zu sein. Dieser Index kann nicht ohne weiteres wieder hergestellt werden. Alle ID's in diesem Index sind dadurch gelöscht worden. Du wirst wohl CB deinstallieren... und dann neuinstallieren müssen! Ich hoffe, Du verfügst noch über ein funktionierendes Backup deiner Website?! Wenn Du kein Backup haben soltest, hat Dein WebHoster vielleicht eines, das Du wieder herstellen kannst. Wenn Du lokal (in der Entwurfsphase) arbeitest, hast Du wohl mit Zitronen gehandelt und die Arbeit ist futsch :(

Mit dem kostenlosen Tool ArtAdminer kannst Du die MySQL-Datenbank selbst öffnen und nach dem Rechten schauen. Herunterladen kannst Du die Komponente bei
www.artetics.com/free/joomla/com_artadminer.zip

...das Editieren in der Datenbank setzt allerdings Kenntnisse mit MySQL-Datenbanken voraus und man kann noch mehr Schaden anrichten, als es bisher schon geschehen ist!!!

hoffe, geholfen zu haben
Frankie.

Please Log in to join the conversation.

11 years 9 months ago - 11 years 9 months ago #202011 by Frank Behnke
Replied by Frank Behnke on topic Re: DB Problem bei der Reparatur der Core CB
Hallo Mazze85!

Ich habe gerade einen Blick auf die lokale MySQL-Datenbank meiner DemoSite geworfen und habe festgestellt, daß der PRIMARY Index 'id' lediglich die gleichen Werte aus der Spalte 'user_id' enthält. Somit kannst Du die Spalte 'id' (falls gelöscht) wieder erzeugen und mit den Daten aus 'user_id' füllen. Der DatenTyp für die Tabellenspalte ist INTEGER 'int(11)' und dort sollte der Primär-Index gesetzt werden.
Dann mußt Du nur noch (bei gelöschter User_ID aus der Joomla-Benutzersteuerung) einen neuen User anlegen und dessen ID entsprechend anpassen und auf '42' setzten. Diese user_id kannst Du in der Tebelle 'fanclubhuette_users' finden... wenn sich noch zusätzliche Referenzen auf den neu-erzeugten User finden sollten, müssen diese Einträge ebenfalls geändert werden!
Gefunden habe ich diese in den Tabellen '()_user_usergroup_map' und '()_user_profiles'! Natürlich mußt Du die Klammern() durch 'fanclubhuette' ersetzen.

Falls die Spalte 'id' schon vorhanden sein sollte und ein Duplikateintrag für die user_id '42' besteht, kannst Du diesen (doppelten) einfach löschen und alles funzt wieder :woohoo:

Falls Du mit dem Prozedere überfordert sein solltest, schreib' mir doch einfach eine PN. Wenn ich Zeit finde, könnte ich einmal einen Blick auf die Datenbank Deiner WebSite werfen...

enjoy
Frankie.

Please Log in to join the conversation.

Moderators: beatnantkrileonXBOOMX
Time to create page: 0.195 seconds

Facebook Twitter LinkedIn