Will man alle Tabellen einer Datenbank löschen so gibt es dafür keine native SQL Anweisung wie TRUNCATE DATABASE oder so. Man kann sich mit einem one-liner behelfen:
mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | grep ^DROP | mysql -u[USERNAME] -p[PASSWORD] [DATABASE]
Oft hat man auch das Problem das man nur bestimmte Tabellen aus einer Datenbank löschen möchte. Zum Beispiel wenn man mehrere Applikationen installiert und eine davon jetzt löschen möchte. Wichtig ist das die Tabellen der Applikation einen Tabellen Prefix haben. Bei Wordpress wäre das zum Beispiel ‘wp_’ als Prefix. Um nur diese aus der Datenbank zu löschen muss die obere Anweisung nur mit einem weiteren grep erweitert werden:
mysqldump -u[USERNAME] -p[PASSWORD] --add-drop-table --no-data [DATABASE] | grep ^DROP | grep 'wp_.*' | mysql -u[USERNAME] -p[PASSWORD] [DATABASE]
Es empfiehlt sich das Ergebnis zuerst mal zu kontrollieren und sich die Drop Statements nur ausgeben zu lassen - also den letzten Teil (mysql -u[USERNAME]…..) einfach weglassen.
28 Jan
Das ist der erste Teil meiner Tutorial oder How-To Serie für das Zend Framework.
Dieser erste Artikel wird etwas früher als mit der Implementierung des bootstrapping Prozesses oder dem Erstellen neuer Controller, Models oder Views beginnen. Ich werde hier als erstes grundlegende Gedanken und Überlegungen in den Raum stellen, die man sich vor der Implementierung stellen sollte - wie zum Beispiel die Wahl der richtigen Verzeichnisstruktur und die Ausarbeitung eigener Konventionen.
Die Wahl der Verzeichnisstruktur oder das überlegen und / oder aufschreiben eigener Konventionen mag im ersten Moment vielleicht etwas nebensächlich erscheinen und auch so behandelt werden, doch will man eine Applikation von vorn herein so modular wie möglich aufbauen um später nicht mehr Arbeit zu haben um neue Features (Module, Plugins, Controller, I18N, Caching, Suche, etc..) zu implementieren sollte man sich etwas mehr Zeit nehmen um über die jetzigen und auch die zukünftigen Anforderungen an die Applikation, nachzudenken. Die Wichtigkeit dessen steigt, um so mehr Entwickler an einem Projekt beteiligt sind, da darauf um so mehr zu achten ist, dass jeder Entwickler weiß welche Code Conventions einzuhalten sind, und vor allem WIE (und nicht ob!!!) dokumentiert werden muss.