SQL Datenbank aus php rekonstruieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • SQL Datenbank aus php rekonstruieren

    Hallo,

    ich habe ein sicherlich ungewöhnliches Problem. Ein Kumpel hat mir vor 4 Jahren ein tolles php Script gebaut, dass ich damals für eine Webseite brauchte. Jetzt habe ich den gleichen Einsatzzweck wie vor 4 Jahren, allerdings gibt es die Webseite nicht mehr. Ich habe allerdings ein Backup aller Daten, außgenommen der Datenbank.

    Nun würde ich gern wissen, gibt es eine Möglichkeit anhand der php Dateien automatisiert oder zumindest irgendwie vereinfacht, die nötigen Datenbankeinträge wieder zu rekonstruieren? Zum einen hat mein Kumpel in den nächsten Wochen keine Zeit das Script für mich nochmal zu bauen und zum anderen habe ich so gut wie keine Ahnung von php + SQL. Vielleicht ist das auch alles einfacher als ich mir das gerade vorstelle.

    Ich freue mich sehr auf eure Ratschläge.

    Viele Grüße

    Sven

  • #2
    Mit 100%-iger Sicherheit lässt sich das nicht reverse engineeren: Standardwerte, Foreign Keys, Trigger und Views, Indizes, Auto-Increments und so einiges mehr, was die Datenbank an Arbeit abgenommen wird nicht aus dem Code ersichtlich sein. So jedenfalls die Theorie.

    Es sollte aber dennoch möglich sein, aus den Queries das Schema so aufbauen zu können, dass die Applikation wieder funktioniert. Welche Felder auf jeden Fall existierten sieht man im besten Fall an den Queries, im schlechtesten dort, wo die Felder verwendet werden (wenn die Queries stets alle Felder ausgelesen haben (Stichwort "SELECT *") wirds sicherlich etwas ungemütlicher. Auto-Increments kann man wahrscheinlich auch ganz gut herauslesen oder erahnen und Indizes kann man auch einfach mal selbst setzen –*dafür sollte man allerdings ein wenig Basiswissen mitbringen. Alles in allem eher keine Aufgabe für einen Anfänger.

    Falls dir das jetzt nicht weiterhilft, könntest du das hier nun in die Projekthilfe verschieben, wo du den Code veröffentlichst und jemand dir eventuell die Arbeit abnimmt oder dich zumindest konkret unterstützt –*oder du stellst das ganze als Jobangebot ein.

    Und hoffentlich lernst du daraus, dass du neben dem eigentlichen Applikationsquelltext auch einen Strukturdump deiner Datenbank aufbewahren solltest
    [FONT="Helvetica"]twitter.com/unset[/FONT]

    Shitstorm Podcast – Wöchentliches Auskotzen

    Kommentar


    • #3
      Oha, ich versteh größtenteils nur Bahnhof, aber ich denke wenn ich mich ein wenig in das Thema einarbeite werde ich deine Antwort besser verstehen können )

      Klar aus Fehlern lernt man, in Zukunft werde ich natürlich auch die Datenbank sichern, allerdings hätte ich nicht gedacht dass der Hoster bei dem die Webseite lag, die Datenbanken löscht, obwohl ich noch den Account nutze. Aber selbst dann sollte man natürlich die Datenbank sichern, kann ja immer mal ein System kaputt gehen oder so.

      Vielen Dank trotzdem schonmal für deine Antwort. Kann ich denn Anhand der php Datei ersehen, ob es sich bei einem Eintrag um eine Tabelle, um einen Tabelleneintrag oder sonst was handelt?

      Kommentar


      • #4
        Zitat von Fensch Beitrag anzeigen
        Kann ich denn Anhand der php Datei ersehen, ob es sich bei einem Eintrag um eine Tabelle, um einen Tabelleneintrag oder sonst was handelt?
        Nur wenn du PHP und SQL kannst.

        Kommentar


        • #5
          OffTopic:
          Na hoffentlich hat der Kollege vor vier Jahren schon so vernünftig programmiert, wie er es heute tut.


          Es wird sich bei den SQL-Queries übrigens mit hoher Wahrscheinlichkeit um Einträge in der Datenbank handeln, die gelesen oder geschrieben werden. Aber daraus kannst du hoffentlich (wenn die Felder benannt sind) auf die Tabelle schließen.

          Kommentar

          Lädt...
          X