0

Grails用のデータベース移行プラグインを使用しようとしていますが、 text.

ベースライン ログを生成すると、タイプが に設定されますがtext(255)、精度がないため、これはエラーです。データ型を に変更しようとすると、同じことが起こりtextます。

changeSet(author: "jgiotta (generated)", id: "1348767652354-2") {
    modifyDataType(columnName: "old_value", newDataType: "text",
        schemaName: "dbo", tableName: "audit_trail")
}

この問題を回避するにはどうすればよいですか?

4

2 に答える 2

0

接続ドライバ(ODBC/JDBC)の文字セット設定を確認してください。
レプリケーション ツールを使用して NVARCHAR フィールドを持ち込むときに、同様の問題が発生しました。ODBC ドライバーが ASCII 文字マップで NVARCHAR を認識しなかったため、Null がターゲットに書き込まれていました。つまり、レプリケーション ツールが ASCII 文字セットの ODBC ドライバーを使用していたことが問題でした。一度、ODBC ドライバーを UTF8 文字セットを使用するように変更したところ、ターゲットに NVARCHAR データが表示されるようになりました。

于 2012-09-27T18:04:01.970 に答える
0

少し追加のマッピングで解決しました。

もともと私はやっていました:

static mapping = {
    oldValue type: 'text'
    //...
}

タイプを少なくとも強制したのnvarchar(max)は、次のマッピングでした。

static mapping = {
    oldValue type: 'text', sqlType: 'text'
}
于 2012-09-27T20:13:15.963 に答える