Ich habe kürzlich begonnen, Grails zu lesen und möchte SQL Server-Sicherheitsschemas verwenden, um von GORM generierte Tabellen zu gruppieren. Ich kann jedoch keinen Hinweis darauf finden, wie diese Aufgabe ausgeführt wird. Ich bin auch neu bei Hibernate und würde gerne wissen, ob das möglich ist. Vielen Dank.In Grails, wie deklariere ich einen SQL Server-Schema-Namen für eine Domain-Klasse?
Antwort
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"
}
}
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.
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? –
Ich habe solche Schemata nicht wirklich benutzt, aber es sollte nicht schwierig sein, das herauszufinden. –
Ich werde es versuchen. Ich freue mich über Ihr Feedback. Vielen Dank. –