Wer viel mit komplexen Datenbanken zu tun hat, der pflegt diese zu planen und zu visualisieren, das spart Abstimmungsbedarf und hilft im Team am selben Strang zu ziehen. Auf der Suche nach einem neuen Tool zur Datenbankvisualisierung bin ich auf MySQL Workbench gestoßen – also Nachfolger von fabFORCE DbDesigner 4.
Vom Funktionsumfang kann man sich selbst bei der kostenlosen OSS Community Edition nicht beschweren. Man kann (ER-)Diagramme erstellen und diese per Schnittstelle direkt in den Server einspielen. Ebenfalls kann man aus Datenbankschnittstellen Diagramme erstellen (das habe ich bis dato selbst nicht probiert) und vorhandene bearbeitete Diagramme ebenfalls per Update in die Datenbak zurückspielen. So weit alles prima
.
Was mich aber bis dato echt stört ist, dass ich es nicht schaffe die Tabellen nachträglich im Diagramm auszurichten. Vielleicht fehlt mir ja auch der letzte Funke Verstand, aber wenn ich eine Tabelle platziere (neu anlege) und sie dann verschieben will, springt sie an den oberen Rand des Diagramms und lässt sich auch nicht weiter nach unten schieben. Die Seitwärtsplatzierung ist nach wie vor möglich. Mache ich etwas falsch, oder ist das ein Bug? Ich habe das ganze auf Linux (Ubuntu 8.04) und ebenfalls – weil ich dachte es wäre ein Bug in der Linux Version – auf Windows XP ausprobiert – selbes Ergebnis. Hat da jemand eine Idee?
Desweiteren würde ich mir wünschen, dass man die Bedienelemente aus der Oberfläche abdocken könnte und auf einen zweiten Monitor verschieben kann, das würde die Arbeit doch ein wenig komfortabler machen. Ansonsten finde ich, dass das Tool auf einem sehr guten Weg ist, welchen man durchaus über die nächsten Releases verfolgen sollte.
written by Alexander
\\ tags: datenbanken, er-diagramme, erd, mysql, mysql workbench, planung, Software
Da ich zur Zeit selber nicht dazu komme Tutorials oder Artikel über Doctrine zu schreiben, bin ich froh, dass ich regelmäßig auf Artikel im Doctrine Blog verweisen kann. Heute gibt’s einen besonders interessanten Artikel über Cross Database Joins. Der Artikel beschreibt, wie man ein Schema aufsetzen muss, damit man zwischen zwei Datenbanken (oder richtig: Datenbankschematas) einen Join durchführen kann. Dies ist kein Kernfeature von Doctrine, mit ein bisschen Trickserei geht es aber dennoch. Nutzbar ist das allerdings nur, wenn das DBMS solche Joins unterstützt. Was ich bisher nicht wußte: das funktioniert in MySQL und in PostgreSQL! Wer hätte das gedacht
. Ich hab’ schon einige Fällge gehabt, wo ich das gebraucht hätte, aber irgendwie eine andere Lösung suchen mußte. Jetzt klappt’s halt auch so
. Man müßte nur zuvor ein paar Performance Tests machen, bevor man das ganze in ein Produktivsystem schickt.
written by Alexander
\\ tags: cross database joins, Doctrine, mysql, PHP
In dieser Woche habe ich bereits viele Erfahrungen im produktiven Einsatz von Doctrine 1.0.x sammeln dürfen. Alles in allem macht es einen super Eindruck! Ich bin wirklich begeistert wie viel sich seit den vorherigen Releases getan hat. Ein grandioses Feature ist natürlich das Doctrine CLI, welches viele nützliche Helfer für die Kommandozeile anbietet. Sehr schnell lernt man als Entwickler die Arbeit mit YAML Files lieben, welche einem das Generieren von Models komplett abnehmen. Man kann gar ganz ohne händischen Aufwand Datenbanktabellen aus der DB nach YAML und dann in Doctrine Models übersetzen
. Will man natürlich einige der zahlreichen Features (Templates) wie Softdelete oder Versionable verwenden, dann muss man im YAML noch kleinere Anpassungen machen.
Was vielleicht wissenswert ist, dass man im Doctrine YAML Schema Directory beliebig viele Files ablegen kann, die nur die Endung .yml haben müssen. Doctrine geht automatisch das komplette Verzeichnis durch und nimmt jedes YAML File und wandelt es um. Was einem bei der Fehlersuche nicht sonderlich unterstützt, wenn man sich lediglich Sicherheitskopien (mit Fehlern) mit der Endung .yml im Verzeichnis macht. Das kann einem schon mal den Abend versauen
, aber sobald man dies weiß, ist auch dies ein wunderbares Feature!
Wie ich aus den Kreisen meiner Kollegen zu hören bekam, funktioniert ebenfall die MSSQL Unterstützung problemlos und erleichtert die Arbeit beim Importieren von MSSQL nach MySQL merklich.
Nach diesen Erfahrungen bin ich ziemlich “scharf” darauf Doctrine 1.0.x in anderen Projekten einzusetzen und bin noch gespannter darauf, wie sich Doctrine 1.1 verhalten wird.
Übrigens: Die Integration von Doctrine in ZendFramework ist mit diesem Tutorial kinderleicht.
Mehr dann ggf. nächste Woche, auch zu ZendFramework
.
written by Alexander
\\ tags: Doctrine, doctrine 1.0.x, doctrine 1.1, mssql, mysql, yaml, ZendFramework
Noch vor kurzem wurde ein Bugfix Release veröffentlicht und heute Nacht konnte man auf dem Doctrine Entwickler Blog lesen, dass sie die erste Alpha Version der 1.1. Branch veröffentlicht haben. Neben diversen neuen Features wird es auch neue Hydration Modes geben, mit denen man die Aggregation der zurückgegebenen Ergebnisse eines Querys bestimmen kann, und auch einige Neuerungen zum Diff-Tool, mit denen man Migrationen zwischen Datenbankstrukturen durchführen kann.
written by Alexander
\\ tags: alpha, Doctrine, doctrine 1.1, mysql, PHP, php5, release
Die einen haben es lange erwartet, die anderen arbeiten längst damit. MySQL 5.1 wurde heute offiziell für Produktionsumgebungen (Golem) freigegeben. Nach diesem fast endlos scheinenden Release Zyklus kann man nun guten Gewissens auch MySQL 5.1 für Produktionsumgebungen empfehlen. Das konnte man natürlich auch vorher schon – zumindest meiner Meinung nach. Die Erfahrungen mit den letzten Release Candidates waren durchaus positiv und stabil. Die vielen Neuerungen aufzuzählen würde sicherlich zu weit gehen
. Es hat sich viel getan, mehr dazu findet man bei MySQL selbst
.
Ich hoffe, dass ich nun auch bald aus dem apt-tree für Ubuntu eine 5.1 Installation vornehmen kann, hier war bisher nur die stabile 5.0 zu haben, die einige Features vermissen läßt, die man vielleicht anderorts auf Entwicklungssystemen bereits hat.
Auf gutes Gelingen
.
written by Alexander
\\ tags: golem, mysql, mysql 5, mysql 5.1, Programmierung
Kommentare