News - Features - Downloads - Forum - Team - Support - Switch View: Screen
Login - Registrierung - Passwort vergessen

Antworten: 14
Seite [1]
borneo


Wannabe poster




Beiträge: 21
# Thema - 19.08.2014 um 07:24 Uhr
Hallo

Kann ich von einer Clansphere Webseite die User und deren Accounts auf eine andere Website auch Clansphere mitnehmen?
Habe die Datenbank exportiert und Importiert aber entweder habe ich etwas falsch gemacht oder...
Jedenfalls habe ich Ordner und Statistik und ziemlich alles bis auf die User und deren Accounts.
Wäre nett wenn ihr mir wieder mal helfen könntet.
Danke borneo
Inaktiv
winnetou1977


Try to beat me




Beiträge: 142
# Antwort: 1 - 19.08.2014 um 10:51 Uhr
Kamen Fehler beim Importieren ?


Inaktiv
|
Deaktiviert

Supporter
Supporter



Beiträge: 1287
# Antwort: 2 - 19.08.2014 um 11:03 Uhr
Die komplette Datenbank importieren & exportieren wird nicht klappen, da die IDs, also UserID 1,2,3,... ja schon existieren. Du müsstest nur die Userdaten exportieren.

Hast du Zugriff zum PHPmyAdmin?


Inaktiv
|
borneo
Thread-Ersteller


Wannabe poster




Beiträge: 21
# Antwort: 3 - 19.08.2014 um 14:34 Uhr
Leider nur Zugriff auf System und Verwaltung


Inaktiv
|
Chelrid


Geekboy





Beiträge: 1114
# Antwort: 4 - 19.08.2014 um 18:57 Uhr
phpmyadmin ist ein Tool für deine Datenbank.

Schau alternativ mal HeidiSQL an.


------------------
Grüße vom Chelrid
Und denkt dran: Immer locker durch die Hose atmen....


Inaktiv
|
borneo
Thread-Ersteller


Wannabe poster




Beiträge: 21
# Antwort: 5 - 19.08.2014 um 23:52 Uhr
Hey
Ich habe nun probiert nur die User zu exportieren und importieren. Leider mit Fehlermeldungen.
Jetzt ist das Problem, dass wenn sich von der alten HP jemand anmeldet bekommt er die Daten von dem vorigen User.
Das heisst er nimmt die alten Beiträge und den alten Namen eines anderen. Sehr Blöd nun.
Kann ich das wieder irgendwie löschen ?
Lösche ich dann meinen admin Account auch ?
Leider weiß ich nicht was HeidiSQL ist


Inaktiv
|
Tom08 ClanSphere Team

Supporter
Supporter



Herkunft: Daheim
Beiträge: 2923
# Antwort: 6 - 20.08.2014 um 02:21 Uhr
HeidiSQL ist ein Tool zum Zugriff auf Datenbanken (http://www.heidisql.com/). Im Gegensatz zu phpmyadmin, was als Script auf dem Server läuft, ist HeidiSQL ein Programm, was auf deinem Rechner ausgeführt wird und sich lediglich mti dem Server verbindet.

User mitnehmen ist kein Problem, so lange es keine anderen Benutzer gibt in der Installation bzw. nur den ursprünglichen Benutzer. Ansonsten hast du das Problem, was du jetzt ja auch shcon gemerkt hast, das Benutzer-IDs, die eindeutig sein müssen, nicht mehr eindeutig sind. Das führt dann auch zu falschen Zuordnungen von Beiträgen zu Benutzern (wenn du alte Daten importierst).

Im Hintergurnd arbeitet (fast) jede Seite nämlich so:

Dieser Kommentar im Forum ist ein Eintrag in der Tabelle {pre}_comments mit dem Text, der Uhrzeit, der Referenz Forum und der Referenz auf diesen Beitrag. Zusätzich wird bei diesem Eintrag die User-ID gespeichert, die denjenigen Benutzer identifiziert, der diesen Beitrag erstellt hat.

Für jeden Benutzer sollte dann ein entsprechender Eintrag in der Benutzer-Tabelle existieren. Hier kann dann der Nutzer, der zu diesem Beitrag gehört, abgefragt werden (entweder durch einen eigenen Query oder durch ein JOIN-Statement).

Das Problem bei dir ist anscheinend jetzt, dass diese Zuordnungen durch neue Benutzer nun falsch ist. SQL fängt üblicherweise bei auto_increment Spalten bei 1 an. Bei diesen Spalten wird der Wert - vereinfacht gesagt - automatisch auf Basis des vorherigen Werts hochgezählt (genau genommen gibt es dafür ein weiteres Feld in dem der aktuelle Wert steht. IDs werden immer aufsteigend vergeben und beim löschen gehen ggf. IDs verloren).

Somit kommt es eben zu ID-Konflikten und SQL weigert sich, bestehende Datensätze einzutragen in die Tabelle.

Anscheinend hast du dir somit ziemlich viele Konflikte in deine Datenbank geholt. Jetzt musst du abwägen:
- Backup von vor dem Import der Benutzer einspielen (was du ja hoffentlich gemacht hast)
- Alles zurücksetzen (kommt einer Neuinstallation gleich)
- Alles neue löschen und das alte Backup verwenden
- von Hand den Nutzern neue IDs zuweisen (dabei nicht vergessen, den Auto_increment Wert anzupassen, wenn man fertig ist). Das Problem sind aber auch hier wieder die oben beschriebenen Referenzen, sofern die Nutzer schon irgendwo was geschriebn haben.

Grüße


------------------
Bei Problemen mit Code von mir bitte eine Private Nachricht an mich


Inaktiv
|
borneo
Thread-Ersteller


Wannabe poster




Beiträge: 21
# Antwort: 7 - 20.08.2014 um 08:58 Uhr
Hey
Backup automatisch alle 24 h . Bin aber noch ganz am Anfang also installier ich alles neu und importiere nur die Beiträge und Themen. Habe zwar nun HeidiSql aber damit kenn ich mich auch nicht aus und da bräuchte ich zugang zur alten Datenbank ip und das habe ich nicht.
Sehr schwierig das Ganze hier
Vielleicht sagst du mir noch wie ich von Hand den Nutzer IDs zuweisen kann. Sind zwar dann über 100 aber Versuch wäre es dann Wert.


Inaktiv
|
Tom08 ClanSphere Team

Supporter
Supporter



Herkunft: Daheim
Beiträge: 2923
# Antwort: 8 - 20.08.2014 um 11:13 Uhr
Wenn du alles neu installierst, kannst du doch auch ein komplettes Backup inkl. der Nutzer einspielen?

Bist du sicher, dass du kein phpmyadmin zur Verfügung hast? Sofern du einen Webspace gemietet hast, dann ist das inzwischen eigentlich Standard. Vielleicht einfach mal beim Hoster nachfragen. Dann könntest du einfach die eigentliche Datenbank sichern, dann komplett alles löschen und die alten Daten einspielen.

Wenn du nur zwei Tabellen übernimmst: Threads & Comments (mal abgesehen, dass dann auch die Forenstrukutr mit übernommen werden muss, damit die Themen in den richtigen Foren sind), kannst du mit
 
1.
1. / 2. / ... 
 UPDATE {pre}_threads SET `users_id` = 'xxx' WHERE `users_id` = 'yyy';

den bisherigen Nutzern neue IDs zuweisen. Allerdings dürfen die neuen Nutzer danach noch nichts geschrieben haben. Analog für comments.

Um die alten Nutzer dann auch hinzuzufügen, müsstest du überall die IDs entfernen in den INSERT-Befehlen und dann am Anfang auch die Spalte in der Auflsitung. Dann werden die einfach hinten angefügt.

Insgesamt greifst du aber sehr stark in die Datenbank ein. Jeder Fehler kann dir irgendwann Probleme machen. Von daher solltest du dir echt überlegen, ob du dir das antun willst.


Ein bisschen besser ist es wohl noch, wenn du die Anpassungen vor dem Import machst, z.B. in einer anderen Datenbank die entsprechenden Tabellen importieren, dann alle User-IDs +100 rechnen (geht einfach, s.u.), dan exportieren und in die andere Datenbank importieren. Dort dürfen dann natürlich nur Nutzer bis ID 100 existiere (ggf. dann einfach das +100 erhöhen).

 
1.
1. / 2. / ... 
 UPDATE {pre}_threads SET `users_id` = `users_id` + 100;


Grüße


------------------
Bei Problemen mit Code von mir bitte eine Private Nachricht an mich


Inaktiv
|
borneo
Thread-Ersteller


Wannabe poster




Beiträge: 21
# Antwort: 9 - 20.08.2014 um 12:37 Uhr
Huch
Danke für deine Hilfe.
Das erscheint mir als Anfänger ziemlich schwierig und da sind Fehler wohl oder übel vorprogrammiert.
Die sollen sich alle neu registrieren und gut ist.
Aber da wäre noch eine Frage:
Wenn ich die Ordnerstruktur sprich Forenbeiträge mitnehmen will, welche Daten muss ich aus der Datenbank exportieren um nicht wieder einen Konflikt mit den usern oder pn oder so zu kommen


Inaktiv
|
Tom08 ClanSphere Team

Supporter
Supporter



Herkunft: Daheim
Beiträge: 2923
# Antwort: 10 - 20.08.2014 um 12:54 Uhr
Du hast dann immer noch das Referenzenproblem (falsche Nutzerzurodnung), sollte oben eigentlich ausführlich beschrieben sein.

Aber grundsätzlich:
Alle Tabellen, die mit board anfangen, {pre}_threads und aus {pre}_comments alle Einträge, bei denen der Comments_mod = board ist.

Grüße


------------------
Bei Problemen mit Code von mir bitte eine Private Nachricht an mich


Inaktiv
|
borneo
Thread-Ersteller


Wannabe poster




Beiträge: 21
# Antwort: 11 - 21.08.2014 um 07:54 Uhr
Danke Dir,
habe ich nun geschafft. Das einzige, was mich noch stört:

Wenn sich nun User anmelden......wie oben schon beschrieben falsche Nutzerordnung und so. Kann man manuell die Foreneinträge (die Anzahl der geposteten Threads) auf Null setzen ?


Inaktiv
|
Tom08 ClanSphere Team

Supporter
Supporter



Herkunft: Daheim
Beiträge: 2923
# Antwort: 12 - 24.08.2014 um 17:56 Uhr
Ich weiß gerade nicht mehr genau wie die Zählung da ist. Wenn das cs_sql_count() Aufrufe sind, dann könnte man das in der WHERE-Bedingugn abfangen. Ist aber sehr unschön.

Kann auch sein, dass die, der Performance wegen, irgendwo in der Nutzertabelle stehen. Dann könntest du versuchen, die da zurückzusetzen.

Insgesamt ist das aber alles sehr unschön, da du eben auch jetzt falsch zugeordnete Beiträge hast.

Um auf deine Frage nochmal einzugehen, wie ich das mit dem +100 rechnen in Antwort 8 meine:
Du hast ja irgendwo/wann mal eine alte Installation gehabt. Bei dieser Installation hatten sich Benutzer regisiriert. Jetzt ist die Idee, alle NutzerIDs in der alten Version um 100 zu erhöhen (oder eine beliebige andere Zahl, die größer ist als deine momentan höchste NutzerID bzw. dein nächsthöchster auto_increment Wert).

Somit gehst du Konflikten bei den IDs aus dem Weg. Natürlich musst du danach dann in deiner neuen Installation die alten Daten einspielen, und dann dort schauen, dass neue Nutzer dann eine ID größer als die größte ID deiner alten Installation bekommen.

Das gilt natürlich auch für alle anderen IDs, z.B. Thread-IDs, sofern es schon welceh auf deiner neuen Seite gibt. Comment-Ids usw. usw.

Ist halt fraglich, ob sich das jetzt noch realisieren lässt, wo du schon die alten threads etc. eingebudnen hast.

Wo nehme ich die andere Datenbank her ? Ich habe nur eine Wo ich importieren kann.
Das funktioniert z.b. auch lokal oder auf einem freehoster. Guck dir am besten mal das XAMPP-Package an, damit kannst du sehr einfach lokal bei dir einen Webserver einrichten inkl. PHPmyadmin wo du beliebig viele Datenbanken ierstellen & verwalten kannst. (https://www.apachefriends.org/de/index.html)

Wo genau finde ich das zu dem Eintrag, also wo soll ich das reinschreiben ?
didn't get the question

Grüße


------------------
Bei Problemen mit Code von mir bitte eine Private Nachricht an mich


Inaktiv
|
borneo
Thread-Ersteller


Wannabe poster




Beiträge: 21
# Antwort: 13 - 10.09.2014 um 17:03 Uhr
Ich beschäftige mich gerade mit XAMPP um mit phpmyadmin die Datenbank zu ändern. Jedoch wenn ich die alte Datenbank importieren möchte kommt Fehler 1064.


Inaktiv
|
borneo
Thread-Ersteller


Wannabe poster




Beiträge: 21
# Antwort: 14 - 13.09.2014 um 11:02 Uhr
Kann man den Beitragszähler auf Null setzen? Oder besser noch, neu registrierten Usern eine ID ab 500 zuweisen?


Inaktiv
|
Antworten: 14
Seite [1]


Sie müssen sich registrieren, um zu antworten.


ClanSphere Project - Mailus - Imprint - Disclaimer - Scriptinfo