Wie kann ich per SQL eine Node in der Drupal Db anlegen, ändern
am 18.09.2011 - 20:18 Uhr in
Hallo mal wieder.
Inzwischen sitz ich zwischen mehreren Drupal Installationen ua. einem Testserver, wo eine DB in der Cloud läuft.
Nun möchte ich mit einer externen App, die Zugriff auf die Drupal DB hat, Nodes bearbeiten, anlegen.
Hab mir inzwischen das Buch Pro Drupal gekauft, ua. Migrate und Devel installiert.
Ich kann die Datensätze anzeigen, auch editieren, aber beim Update auf die DB passiert nix.
Gibt es irgendwo ein Beispiel wie man ohne die Drupal Api, direct per SQL in die Nodes Table schreiben kann ?
Vielen Dank wie immer
Rainer
- Anmelden oder Registrieren um Kommentare zu schreiben

Direkt in der DB solltest du
am 18.09.2011 - 21:45 Uhr
Direkt in der DB solltest du die Daten nicht unbedingt ändern, da du damit die interne Drupal-Logik ( Revisionen, Felder etc ) außer Kraft setzt.
Dies ist nicht wirklich sinnvoll, wenn du mit diesen Daten in Drupal weiter arbeiten möchtest.
Wenn du über ein externes App auf deine Daten zugreifen möchtest, solltest du dir mal die [do:services] API / Module anschauen. Hier kannst du dann bspw. über JSON oder XML-RPC auf die Daten zugreifen und diese dann natürlich auch editieren / speichern.
SteffenR
Hallo Steffen, das Argument
am 19.09.2011 - 08:23 Uhr
Hallo Steffen,
das Argument hat sicher seine Berechtigung, aber mit der Services Api muß ich auf der Gegenseite recht viel Aufwand treiben. Da ist ein connect auf die db und ein insert in Node einfach schlanker. Das Migrate Modul macht eigentlich auch nicht viel anders...
Bei Drupal wird ja eigentlich "auch nichts anderes" gemacht, als ein Insert über den passenden Treiber auf die DB abgesetzt. Naja da passiert natürlich doch viel mehr.
Überrascht hat mich jedoch, das eine Migration von MySQL auf Postgress nicht so trivial ist.
Bei PG werden z.B. noch stored procedures angelegt. Kopiert man 1:1 eine MySQL nach PG läufts einfach nicht.
Gruß Rainer
Hallo, hier ein Update zu dem
am 26.09.2011 - 16:55 Uhr
Hallo,
hier ein Update zu dem Thema.
Inzwischen hab ich mir mehre Drupal Installationen erstellt, ua. MySQL local und remote beim Provider,
Postgress mit lokalem Apache und Postgress, das in einer Cloud läuft. Was mich gleich beindruckt hat, mit wie wenig Aufwand sowas in Drupal möglich ist.
Auch bin ich mit dem Theme direkter Zugriff auf die Drupal Tabellen weiter. Mir geht es sicher nicht darum, die Drupal Api und GUI auszuknipsen oder zu ersetzen, sondern im Hintergrund ein Tool zu haben, mit dem ich Drupal und viel anderes monitoren kann. Daher ist ein Datenbanktool ( ich nehm OmnisStudio und Visual Foxpro) keine schlechte Wahl.
Zudem hat es mir schon ein Portal gerettet. Irgendein Modul hat vergessen, die Tabelle anzulegen, und beim nächsten Serverrestart war es nicht einmal als Admin möglich, das Portal noch zu bedienen. Hier mal kurz auf die Systemstabelle und Module ausschalten, war die Rettung.
Inzwischen tüftel ich weiter. Wer ebenfalls an sowas Interesse hat, kann sich gerne mal bei mir melden.
Gruß Rainer