die folgenden Domain-Klassen in Grails Bedenken Sie:Grails Gorm DDL nicht in Postgres 9, wenn ein träges Laden Aufzählungstyp
enum MyEnum { One, Two, Three }
class MyClass {
Collection mys = []
static hasMany = [
mys: MyEnum
]
static mapping = {
mys lazy: true
}
}
Wenn es mit der App läuft 'create-Drop' auf einer Postgres 9.1 Datenbank ich folgende Fehlermeldung erhalten :
Unsuccessful: create table myclass_mys (myclass_id int8, myenum varchar(-1))
ERROR: syntax error at or near "-"
Der Fehler verschwindet, wenn ich die Lazy Mapping entfernen. Der Faule ist jedoch aus anderen Gründen notwendig. Meine aktuelle Problemumgehung besteht darin, die Datenbank ohne das Lazy-Mapping zu erstellen und anschließend Domänenklassen zu ändern, was in einem Entwicklungskontext sehr ärgerlich ist.
Haben Sie Ideen, wie Sie das Gorm-Mapping korrigieren können, so dass varchar (-1) wie gewohnt varchar (255) ist?
Verwenden Sie einen bestimmten Dialekt in DataSources.groovy? –
Ich habe versucht, org.hibernate.dialect.PostgreSQLDialect und net.sf.hibernate.dialect.PostgreSQLDialect mit dem gleichen Ergebnis. – johanneslink