mysql

  • Drupal: Auf fremde/zweit Datenbank zugreifen

    Problem: Auf der vorhanden Drupal Installation will ich auf Daten einer anderen Datenbank zugreifen. Drupal hat dafür bereits einen Weg vorgesehen. Dazu geht man in die sites/default/settings.php Datei. Folgende Zeile definiert die Standard Datenbank:

    $db_url 'mysql://drupal:drupal@localhost/drupal';

    Wandelt man $db_url in ein Array um, kann man beliebig viele Datenbank definieren.:

    $db_url['default'] ='mysql://drupal:drupal@localhost/drupal';
    $db_url['mydb'] = 'mysql://user:pwd@localhost/anotherdb';
    $db_url['db3'] ='mysql://user:pwd@localhost/yetanotherdb';

    Im Modul, wo man dann auf die Daten zugreifen will mach man das folderndermassen:

    db_set_active('mydb');

    db_query('SELECT * FROM table_in_anotherdb');

    //...
    db_set_active('default');

    Default ist die Standard-Datenbank. Sie ist erforderlich. In dieser Datenbank ist Drupal installiert. Man muss aufpassen, dass man nach dem Sprung in die andere Datenbank die default Datenbank wieder auf aktiv stellt.

    Quelle: http://drupal.org/node/18429

  • Drupal: Files Ordner verschieben

    Um den Files Ordner zu verschieben (in meinem Fall im Private Mode), geht man folgendermassen vor:

    • per FTP oder shell die Daten an den neuen Ort verschieben
      • shell: mv <pfad>/files <neuer pfad>/files
      • per FTP sicherstellen das .htaccess Datei mitgneommen wird
    • Folgender MYSQL Befehl ausführen (zB in mysqladmin)
      • update files set filepath = replace(filepath,'<alter Pfad>','<neuer Pfad>');
    • Nach admin/settings/file-system gehen
      • neuer Pfad angeben
    • Fertig

    Achtung: <...> ersetzen durch eigene Werte! 

Inhalt abgleichen