Ich muss mit einer vorhandenen (MySql) db arbeiten, wo die Namen von Tabellen und Spalten bereits definiert sind.Was sind die Regeln der Zuordnung von PersistEntity/PersistField zu Spalten- und Tabellennamen im DB
Wenn ich die Dokumentation richtig verstehe (und ich fand keine gute Dokumentation zu diesem Thema, so dass Links sehr geschätzt werden), sind Tabellennamen mit PersistIdentity verwandt und müssen daher mit einem Großbuchstaben beginnen (was nicht der Fall ist) der Fall, dem ich gegenüberstehe).
Spaltennamen werden jedoch automatisch nicht großgeschrieben (zumindest im Jessod-Buch, Kapitel Persistent, im Code-Snippet, das den automatisch aus Deklarationen generierten Code beschreibt), daher müssen Spalten in der DB mit beginnen ein Kleinbuchstabe.
Ist die obige Beschreibung tatsächlich richtig?
Kann ich speziell die Zuordnung von Tabellen zu Identitäten und Spalten zu Feldern steuern? Wenn nicht, welche Regeln werden dann automatisch für die Benennung angewendet? Welche Namen sind daher verboten?
Auch eines der Felder ist ein VARCHAR (30). Wie kann ich das Persistent mitteilen? Sie wirft derzeit (durch yesod devel), dass:
errMessage = "in Schlüsselspezifikation verwendet BLOB/TEXT Spalte 'my_field' ohne Schlüssellänge"}
die das Ergebnis der Auto-Migration ist (was ich wahrscheinlich sollte sowieso deaktivieren). Wenn ich jedoch ein begrenztes VARCHAR-Feld deklarieren möchte - kann ich das über Persistent und sein Tool für die automatische Migration tun?
Danke,
Danke, ich sah auch, dass die Dokumentation von Persistent (im Yesod-Buch) einen Teil meiner Frage beantwortete (über die Angabe von Feldnamen mit sql), also Entschuldigung für die Redundanz dieses Teils. –