Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql Grails DB迁移-如何将decimal DB字段更改为具有3的scale属性?_Mysql_Database_Grails_Dbmigrate - Fatal编程技术网

Mysql Grails DB迁移-如何将decimal DB字段更改为具有3的scale属性?

Mysql Grails DB迁移-如何将decimal DB字段更改为具有3的scale属性?,mysql,database,grails,dbmigrate,Mysql,Database,Grails,Dbmigrate,为了更改表中的十进制字段,我需要知道如何使用DB迁移代码进行此更改 目前,该字段表示为19,2,需要更改为19,3,点后有3个浮点数 我的数据库是MySql 谢谢 在LIQUIBASE的文档中,有一个名为 试试这个: databaseChangeLog { changeSet(author: 'author', id: '1234') { modifyDataType(columnName: 'column', newDataType: 'DECIMAL(19,3)')

为了更改表中的十进制字段,我需要知道如何使用DB迁移代码进行此更改

目前,该字段表示为19,2,需要更改为19,3,点后有3个浮点数

我的数据库是MySql


谢谢

在LIQUIBASE的文档中,有一个名为

试试这个:

databaseChangeLog {
    changeSet(author: 'author', id: '1234') {
        modifyDataType(columnName: 'column', newDataType: 'DECIMAL(19,3)')
    }
}

我认为这很好。

使用:addNotNullConstraint-

changeSet(author: 'roeyg (generated)', id: '1409232538826-2') {
    addNotNullConstraint(columnDataType: 'DECIMAL(19,3)', columnName: 'value', tableName: 'period_value')
}

很好用!但它会从可为null的'false'=>true'更改。我试图添加'nullable:false',但效果不好。引发了一个异常。如何修复它?在运行脚本之前,请始终运行dbm update sql。它显示由脚本生成的sql。您的表是否创建了默认值?请尝试addDefaultValue以设置默认值。如果发生异常,或者在这种情况下创建了错误的默认值,则运行回滚脚本。请参阅右面板回滚脚本上的dbmigration文档或Groovy更改一节。对于这种情况,是否有一些简单的解决方案?一些神奇的线路?如何以及从哪里运行dbm更新sql脚本?在您的项目中,在终端上运行dbm更新脚本