当前位置:编程学习 > JAVA >>

grails在有数据的表中新增字段,如何为新增字段赋初值?

有没有人做过对有数据的表中增加一字段,通过grails的domain对应新增字段的属性设定数据库表的默认值,怎么设置。
我这边不论怎么设置,新增的domain属性,在有数据的表中其字段的值永远都是(null),可我想要我设定的默认值我该怎么做?
如某domain中定义新增的属性
 int synDelType = 0;
 数据库对应的表中列syn_del_type的值一直都是(null)

注:是在有数据的表,新加属性重新启动工程对新加列赋初值,不是在new 或者 update的时候赋初值
因为新加这个字段,就是为了给以前老数据新增的字段赋初值。 grails domain 数据库 null --------------------编程问答-------------------- 应该是这样吧int synDelType = [0]

楼主可以去看看groovy语言,像“;”符号是可以不写的

static constraints闭包设置约束
static mapping闭包设置映射

 static constraints = {
        id(blank: false)
        registName(blank: false)
        registPassword(blank: false)
        personalName(blank: false)
        personalTel(blank: false)
        registDate(blank: false)
        //单位名称
        unitName(nullable: true)
        //单位地址
        unitAddress(nullable: true)
        //单位电话
        unitTel(nullable: true)
        //单位传真
        unitFax(nullable: true)
        //单位网址
        unitUrl(nullable: true)
        //您的手机号码
        personalMobile(nullable: true)
        //您的QQ或MSN
        personalQQ(nullable: true)
        memberType(blank: false, inList: ['工程类', '货物类', '服务类'])
        shenhe(inList:['待审核','已审核','未审核'])
    }

    static mapping = {
        id generator: 'uuid.hex'
    }

    String toString() {
        this.personalName
    }
--------------------编程问答-------------------- ";"可写可不写,这个到不是问题,你说的
static constraints闭包设置约束
static mapping闭包设置映射
这些在新表内设置都没有问题,我在如题中讲到,是在老表中新加字段。不论我这边在domain中怎么做设置约束,都不能得到预期结果,很是纠结。 --------------------编程问答--------------------
引用 2 楼 hloolh 的回复:
";"可写可不写,这个到不是问题,你说的
static constraints闭包设置约束
static mapping闭包设置映射
这些在新表内设置都没有问题,我在如题中讲到,是在老表中新加字段。不论我这边在domain中怎么做设置约束,都不能得到预期结果,很是纠结。


重新生成表试试 --------------------编程问答-------------------- 我前面说过,是在老表中新加,为了不那么麻烦,本着简单原则,想通过设定domain进行实现,但是不行,删除表重新生成肯定是可以的。现在倒是有别的方法。
1、用工具直接改数据库该新增列的属性
2、写脚本。
但是客户那边管理给你说他不会设置数据库列属性。(很无语)
写脚本本人很懒。 --------------------编程问答-------------------- 直接sql修改表结构不就可以了么,一句话的事 --------------------编程问答-------------------- 直接用SQL一般情况是首选
如果你必须用DomainClass的话尝试用
http://grails.org/doc/latest/ref/Database%20Mapping/column.html

column 的 defaultValue
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,