Menu

#36 textType in DocTexts sollte Enum statt i18n Text sein

0.51
open
5
2014-08-19
2014-08-19
No

Version ist 0.55, ist allerdings als Milestone nicht selektierbar (Fehlt in Liste).
Liste müsste wohl noch erweitert werden.

Komisch ist, dass für manche DocumentTypes (Rechnungen) plötzlich
keine Templates mehr gefunden werden, obwohl diese da sein müssten. Jedenfalls kann ich
diese über die Datenbank finden:

select * from DocTypes where docTypeID = 16;
1 Ergebnis (Rechnung)

select * from DocTexts where docTypeId in (16);

2 Ergebnisse
Einmal textType "Kopftext" und einmal "Fußzeilentext"

was komisch ist, ist die Tatsache, dass als Fremdschlüssel
auf den Typ von Template wohl ein Text verwendet wird,
der dann auch noch internationalisiert ist! Was dann auch noch redundant
und immer wieder unterschiedlich je nach Spracheinstellung ist.
Eigentlich sollte der textType doch so eine Art enum sein, der
für alle gewählten Sprachen eigentlich gleich ist, oder?
So wie das im Moment umgesetzt ist, ist das alles andere als
"sicher".

mysql> select distinct textType from DocTexts;
+----------------+
| textType |
+----------------+
| Footer Text |
| Fuß Text |
| Header Text |
| Kopf Text |
| Fußzeilentext |
| Kopftext |
+----------------+

Habe noch nicht versucht das bei mir zu konsolieren. Aber ich vermute, dass danach dann
auch wieder die templates gefunden werden. Ich hoffe mal, dass der textType nicht
irgendwo in der Ausgabe verwendet wird.

Idealerweise sollte der textType in der DocTexts auf enum (oder per check) umgestellt werden, damit das auch nur wirklich gültige werte in der Spalte stehen, die dann auch sinnvoll verarbeitet werden können:

mysql:
textType ENUM('FOOTER_TEXT', 'HEADER_TEXT')

sqlite:
CHECK (textType IN ("FOOTER_TEXT", "HEADER_TEXT"))

Discussion


Log in to post a comment.

MongoDB Logo MongoDB