Datentypen des GORM

Das Forum soll der Ablage von Lösungen für immer wieder auftauchende Problemstellungen dienen. // This forum contains solutions to problems that frequently occur.
Antworten
trx
Beiträge: 23
Registriert: 12.08.2009, 13:16:46

Datentypen des GORM

Beitrag von trx » 14.09.2009, 20:32:59

[Thema von http://forum.adventure-php-framework.org/de/viewtopic.php?f=5&t=198 getrennt, da FAQ-relevant]

Da fällt mir doch gleich noch die erste Frage ein.

Eigentlich an Dr.E gerichtet, aber falls jemand anders helfen kann, der sei willkommen.

Laut Doku hat ja der Gorm standardmäßig nur drei Feldtypen zur Auswahl, VARCHAR, TEXT und DATE.
Brauch für meine DB aber auch Felder vom Typ ENUM und SET. In der Doku ist etwas nebulös davon die Rede, dass andersartige Feldtypen "ähnlich der Feldbeschreibung bei einer CREATE TABLE-Anweisung formuliert werden" müssen. Darunter kann ich mir leider gar nichts vorstellen und wäre um Hilfe dankbar.

Gruß
Sebastian

Benutzeravatar
dr.e.
Administrator
Beiträge: 4525
Registriert: 04.11.2007, 16:13:53

Re: Übersetzungsdatenbank mit GORM und FC

Beitrag von dr.e. » 14.09.2009, 20:51:06

Hallo Sebastian,

Laut Doku hat ja der Gorm standardmäßig nur drei Feldtypen zur Auswahl, VARCHAR, TEXT und DATE.
Brauch für meine DB aber auch Felder vom Typ ENUM und SET. In der Doku ist etwas nebulös davon die Rede, dass andersartige Feldtypen "ähnlich der Feldbeschreibung bei einer CREATE TABLE-Anweisung formuliert werden" müssen. Darunter kann ich mir leider gar nichts vorstellen und wäre um Hilfe dankbar.

Beispiel:

Code: Alles auswählen

[MyObject]
Type = "ENUM('small', 'medium', 'large')"
DisplayName = "VARCHAR(50)"

Hierfür würde das SQL-Statement des GORM z.B. wie folgt aussehen:

Code: Alles auswählen

CREATE TABLE ent_myobject (
MyObjectID UNSIGNED INT(5) NOT NULL auto_increment,
Type ENUM('small', 'medium', 'large'),
DisplayName VARCHAR(50) DEFAULT '',
...
) ENGINE=INNODB;

Die drei genannten Typen sind quasi nur "Pseudotypen", die der GORM automatisch in SQL-Anweisungen umsetzt, der Rest wird direkt durchgereicht.
Viele Grüße,
Christian

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast