我正在尝试将database-migration plugin用于Grails,但我遇到了text
属性类型的时髦问题。
生成基准日志将类型设置为text(255)
,但这是一个错误,因为没有精度。当我尝试将数据类型修改为text
时,会发生同样的情况。
changeSet(author: "jgiotta (generated)", id: "1348767652354-2") {
modifyDataType(columnName: "old_value", newDataType: "text",
schemaName: "dbo", tableName: "audit_trail")
}
我该怎么做才能避免这个问题?
答案 0 :(得分:0)
检查连接驱动程序(ODBC / JDBC)上的字符集设置 使用复制工具将NVARCHAR字段结束时,我遇到了类似的问题。 Null正被写入目标,因为ODBC驱动程序不了解带有ASCII字符映射的NVARCHAR。 简而言之,问题是复制工具使用带有ASCII字符集的ODBC驱动程序。有一次,我更改了ODBC驱动程序以使用UTF8字符集,我开始在目标上看到NVARCHAR数据。
答案 1 :(得分:0)
我通过一些额外的映射解决了它。
最初我只是在做:
static mapping = {
oldValue type: 'text'
//...
}
强制该类型至少为nvarchar(max)
的是以下映射:
static mapping = {
oldValue type: 'text', sqlType: 'text'
}