2009-10-10 4 views

Antwort

12

Sie können dies tun, wenn Sie explizit die Zuordnung in einer Domäne-Klasse als described here angeben:

class Book { 
    static mapping = { 
     table name:"books", schema:"dbo" 
    } 
} 
+0

Das ist großartig. Danke für diesen Link. Wird GORM auch das Schema erstellen? Wenn nicht, was ist die beste Praxis in Grails, die diese Art von Design umgeben? –

+0

Ich habe solche Schemata nicht wirklich benutzt, aber es sollte nicht schwierig sein, das herauszufinden. –

+0

Ich werde es versuchen. Ich freue mich über Ihr Feedback. Vielen Dank. –

0

Die Antwort von Michael Borgwardt gegeben ist technisch korrekt, aber bewusst sein, dass, wie von Grails 1.3.4 gibt ist immer noch ein Fehler bei der Verwendung der Vererbung Tabelle-für-Klasse, alle untergeordneten Klassen ignorieren die Schemadefinition.

Eine mögliche Problemumgehung besteht darin, die gesamte Tabelle zu benennen und das Schema so aufzunehmen: "dbo.books", dies kann jedoch Probleme mit der referenziellen Integrität verursachen; GORM wird versuchen, einen Namen zu erstellen, der zu viele "." Enthält. Zeichen, und PostgreSQL (zum Beispiel) denkt, dass Sie versuchen, die referenzielle Integrität von Datenbanken zu erstellen, die nicht unterstützt wird.