Tag Archives: Entwicklung

MySQL Import / Export von CSV Daten

Seit PHP 5 hat man mittels fgetcsv bzw. fputcsv die Möglichkeit komfortabel Array Daten in eine CSV Datei zu schreiben bzw. zu lesen. Kommen die Daten aus einer einer MySQL Datenbank und müssen nicht mehr aufbereitet werden kann man das auch auf Datenbankebene mit einem SELECT erledigen.

SELECT * FROM `foo` INTO OUTFILE '/path/to/dump/foo.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';

Existiert die Datei schon, kommt eine Fehler, da sie aus Sicherheitsgründen nicht überschrieben wird.
Soll der Dateiname dynamisch sein, zum Beispiel mit Timestamp, kann man das, wie hier beschrieben, mit einem Prepared Statement machen.

SELECT @export := concat("SELECT * into OUTFILE '/path/to/dump/foo", DATE_FORMAT(now(),'%Y%m%d-%H%i%s'), ".csv' FROM foo");
PREPARE stmt FROM @export;
EXECUTE stmt;

Subversion – Autoprops verwenden

Anders als bei CVS muss man bei Subversion (soweit ich weiß) die Properties, wie Autor, Revision etc. auf der Client-Seite setzen. Die Ersetzung scheint dann auch auf der Client-Seite zu erfolgen.

Um diese Ersetzung zu automatisieren muss man ein paar Einstellungen vornehmen. Subversion legt im Home/Eigene Dateien-Verzeichnis jeweils eine Konfigurationsdatei an. Die Pfade sind:

  • Windows – Â %APPDATA%\Subversion\config wobei %APPDATA% C:\Dokumente und Einstellungen\<username>\Application Data ist
  • Unix/Linux/Mac – ~/.subversion/config

Hier muss man folgende Sektionen bearbeiten:

[miscellany]
enable-auto-props = yes

[auto-props]
*.java = svn:eol-style=native; svn:keywords=Id Author Date Revision
*.jpg = svn:mime-type=image/jpeg
*.png = svn:mime-type=image/png
*.properties = svn:eol-style=native
*.sh = svn:eol-style=native;svn:executable
*.txt = svn:eol-style=native
*.xml = svn:eol-style=native
*.php = svn:eol-style=native; svn:keywords=Id Author Date Revision

und was man sonst noch haben will.