2014-10-10 6 views
6

मैं पोस्टग्रेज़ डेटाबेस का उपयोग कर रहा हूं। grails 2.4.3 के लिए upgading बाद मैं सब बूलियन क्षेत्रों के लिए इस प्रकार के डेटाबेस changeset मिलती है:असफल डेटाबेस परिवर्तन grails के बाद बूलियन से संबंधित 2.4.3 अपग्रेड

changeSet(author: "me(generated)", id: "1383573084784-1") { 
    addColumn(tableName: "chapter") { 
     column(defaultValue: true, name: "is_framable", type: "boolean") { 
      constraints(nullable: "false") 
     } 
    } 
} 

isFramable डोमेन वर्ग Chapter में एक boolean क्षेत्र है। यहां तक ​​कि द्वारा dbm-gorm-diff

इस प्रवास में यह उत्पन्न हर चलाने के बाद मैंने देखा है कि grails के पुराने संस्करणों में वहाँ

मैं हाइबरनेट संस्करण 4.3.5.5

+0

हमारे पास एक ही समस्या है लेकिन अभी तक कोई समाधान नहीं है। हम इन प्रविष्टियों को अनदेखा करते हैं ... –

+0

इससे मदद मिल सकती है http://stackoverflow.com/a/14470586 –

+0

क्या कोई खबर है? – AndreyT

उत्तर

3

उपयोग कर रहा हूँ bool बजाय changesets में boolean हुआ करता था मेरे उस के लिए वैकल्पिक हल:

Config.groovy

grails.gorm.default.mapping = { 
    "user-type" type: my.hibernate.type.BooleanBitType, class: boolean 
    "user-type" type: my.hibernate.type.BooleanBitType, class: Boolean 
} 

BooleanBitType.java

import my.hibernate.type.descriptor.BooleanBitTypeDescriptor; 
import org.hibernate.type.descriptor.java.BooleanTypeDescriptor; 
import org.hibernate.type.descriptor.sql.SqlTypeDescriptor; 

public class BooleanBitType extends org.hibernate.type.BooleanType { 
    public static final BooleanBitType INSTANCE = new BooleanBitType(); 

    public BooleanBitType() { 
     this(BooleanBitTypeDescriptor.INSTANCE, BooleanTypeDescriptor.INSTANCE); 
    } 

    protected BooleanBitType(SqlTypeDescriptor sqlTypeDescriptor, BooleanTypeDescriptor javaTypeDescriptor) { 
     super(sqlTypeDescriptor, javaTypeDescriptor); 
    } 
} 

BooleanBitTypeDescriptor.java

public class BooleanBitTypeDescriptor extends org.hibernate.type.descriptor.sql.BooleanTypeDescriptor { 
    public static final BooleanBitTypeDescriptor INSTANCE = new BooleanBitTypeDescriptor(); 

    public BooleanBitTypeDescriptor() { 
     super(); 
    } 

    public int getSqlType() { 
     return Types.BIT; 
    } 
} 
0

बग अभी भी grails 2.5.4 में मौजूद है b/c postgres कोई समकक्ष बिट डेटाप्रकार है बुरी तरह Postgres उपयोगकर्ताओं हो जाता है। इसमें थोड़ा स्ट्रिंग है जो बूलियन मान रखने के बराबर नहीं है। Grails दस्तावेज़ों बूलियन के चार (1) वाई/एन संस्करण में स्विचिंग का सुझाव देते हैं।

'उपयोगकर्ता के प्रकार' (प्रकार: org.hibernate.type.YesNoType, वर्ग: बूलियन)

http://grails.github.io/grails-doc/2.5.4/ref/Database%20Mapping/Usage.html

हालांकि, मैं अपने डाटाबेस स्कीमा झुकने अनुप्रयोग में कीड़े को समायोजित करने के विचार नापसंद ढांचा।

तो, शायद मैं इन अनावश्यक परिवर्तनों को अनदेखा कर दूंगा।

संबंधित मुद्दे