Mit ZMS automatische Datenbank-Masken erstellen

[Vortrag Python User Group Berlin 18.06.2009] Das ZMSSQLDB-Objekt ist ein OR-Mapper, der auf die Zope-SQL-Interfaces aufsetzt und ein generisches User-Interface für die ER-Modellierung sowie die Masken für die Datenbearbeitung automatisch erzeugt. Damit lassen sich externe SQL-Datenbanken sehr rasch, ohne Programmierung in das ZMS-Redaktionssystem einbinden.

Die Charts des Vortrags stellen kurz ZMS vor und ordnen das ZMSSQLDB-Objekt ein. Anschliessend werden die wichtigsten Merkmale dargestellt. Anhand des Beispiels "CD-Datenbank" wird die Methodik der generischen Entity-Relationship-Modellierung vertieft. Alle eingesetzten Resources finden sich hier zum Download:

charts
Vortrag Python User Group Berlin 18.06.2009



ER-Modell

ER-Modell der Test-Datenbank "CD-Sammlung" (erstellt mit MySQL-Workbench)

Icon ER-Modell (8KB)
MySQL-Workbench-Datei


Beispielhaft vorkonfigurierte ZMS-Instanz als ZODB-Dump
HINWEIS: die Datenbank-Connection ist leer bzw. nachträglich auf das eigene System zu parametrisieren

Icon sqlmodel.xml (16KB)
ZMSSQLDB-Konfigurationsdatei für das ER-Modell


Hinweis: Versionsempfehlung MySQLDA 2.0.8
http://sourceforge.net/project/showfiles.php?group_id=22307&package_id=15779

TIPP: In der my.cnf sind einige Parameter erforderlich, um hartnäckige charset-Vereinbarungen ausser Kraft zu setzen und utf8 effektiv durchzureichen:

# The MySQL server
[mysqld]
init_connect="SET NAMES utf8"
....
collation_server=utf8_unicode_ci
character_set_server=utf8
skip-character-set-client-handshake
....


Referenzen:
http://dev.mysql.com/doc/refman/5.0/en/charset-connection.html
http://mail.dzug.org/pipermail/zope/2007-April/003482.html

Weiteres Vorgehen:
a. mysql-Zope-Connection per MySQL-Admin killen
b. dann ZOPE-SQLConnection erneut konnekten, damit init_connect auch wirken kann.
c. man sollte prüfen, ob der default-charset von DB bzw Tabellen tatsächlich utf8 ist, ggf. ändern:
ALTER DATABASE tablename DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci

Erstellt von: Dr. Frank Hoffmann , erstellt am:  23.06.2009 , zuletzt geändert: 10.05.2010