Mit ‘MySQL’ getaggte Artikel

TYPO3 und UTF-8

Mittwoch, 26. Mai 2010

Beim Umgang mit TYPO3 (und anderen PHP Projekten) und einer UTF-8 Datenbank gibt es einen Stolperstein, der nicht so offensichtlich zu lösen ist.
Der Kniff ist die Datenbank beim Initialisieren auf UTF-8 einzustimmen… entweder im Konfigurationstool unter “setDBinit” mit:

1
2
3
4
SET NAMES utf8
SET CHARACTER SET utf8
SET SESSION character_set_server = utf8
SET character_set_connection = utf8

… oder einfach direkt in der typo3conf/localconf.php:

1
$TYPO3_CONF_VARS['SYS']['setDBinit'] = 'SET NAMES utf8'.chr(10).'SET CHARACTER SET utf8'.chr(10).'SET SESSION character_set_server = utf8'.chr(10).'SET character_set_connection = utf8';

EDIT: Ab TYPO 4.4 scheint es Probleme mit dieser Konfiguration zu geben. Verwendet stattdessen einfach nur den ersten Befehl “SET NAMES utf8;”.

GIT und die Datenbank

Mittwoch, 21. April 2010

Nach einer Anfrage von Nightfly hier eine kleine Anleitung wie man Datenbank-Änderungen auch mit GIT erfassen kann. GIT ist im Grunde nicht dazu gebaut Datenbanken zu synchronisieren. Man kann es aber mehr oder weniger dazu missbrauchen.
Dabei werden nicht die Änderungen erfasst, sondern jedes mal ein kompletter Dump erstellt. Wie gesagt, optimal ist das nicht, aber wer bei jedem Commit auch einen frischen MySQL Dump mit dabei haben möchte, kann folgendermaßen vorgehen:

Man erstellt eine .git/hooks/pre-commit Datei mit folgendem Inhalt:

1
2
3
4
5
#!/bin/sh
# pre-commit

mysqldump5 -u someUser --password=somePassword --add-drop-table someDatabaseName > dump.sql
git add dump.sql

Damit erhält man automatisch in jedem Commit eine aktuelle dump.sql.