[seasar-dotnet:2030] Re: 文字列カラムでNULLと空文字を使い分けたい

五十嵐 大士 [E-MAIL ADDRESS DELETED]
2011年 5月 17日 (火) 15:38:18 JST


久保さん

五十嵐です。

> まずは、(個人的には)そういう設計があまり推奨されません。
> 空文字に業務的な意味があるということになりますよね?
> (見えないものに意味を付けると何かとややこしいので)

やっぱりそうですよね。
自分も同じ思いです。
ただ、先のメールでも報告しましたとおり運用中のシステムなので
リファクタはかなり困難な状況です。

TakeFinallyの対応で問題ないとのことなので、安心して使い続けます。
アドバイスありがとうございました。

On Tue, 17 May 2011 15:23:57 +0900
kubo <[E-MAIL ADDRESS DELETED]> wrote:

> 久保(jflute)です。
> 
> なるほど、一つのカラムの中で null と空文字があって、
> 業務的にそれを明確に区別したいというところですね。
> 
> まずは、(個人的には)そういう設計があまり推奨されません。
> 空文字に業務的な意味があるということになりますよね?
> (見えないものに意味を付けると何かとややこしいので)
> 
> で、どうしてもそういう設計でやっていくしかないというなら、
> TakeFinally で更新するで全然問題ないと思います。
> dataprop の方でそういった状況のサポートをする予定はないので、
> ちょうどこのやり取りがドキュメントになりそうですね。
> (ありがとうございます)
> 
> 2011/5/17 五十嵐 大士 <[E-MAIL ADDRESS DELETED]>:
> > 久保さん
> >
> > 五十嵐です。
> >
> > emptyStringColumnMapは、エクセルデータで空っぽのセルのデータを空文字で
> > 登録する機能なんですよね?
> > ということは、全てのレコードで該当カラムは空文字になると...
> >
> > 今回の要件としては、特定のカラムでNULLのレコードがあれば空文字のレコード
> > もある状態を作りたいことです。
> >
> > こんな感じ↓
> > ID NAME
> > ========
> > ?1 'XXX'
> > ?2 (NULL)
> > ?3 ''
> >
> > emptyStringColumnMapでは実現できないと思うのですが違うのでしょうか。
> >
> > On Tue, 17 May 2011 13:46:26 +0900
> > kubo <[E-MAIL ADDRESS DELETED]> wrote:
> >
> >> 久保(jflute)です。
> >>
> >> 五十嵐さん、こんにちは
> >> DBFluteとしてはこういう感じです。
> >>
> >> 空文字を許すカラムの指定(dataprop) | DBFlute
> >> http://dbflute.sandbox.seasar.org/ja/manual/function/generator/task/replaceschema/loadxls.html#emptystringcolumnmap
> >>
> >> DBFlute.NET のそのバージョンでサポートされているか
> >> ちょっと正確なところはわかりませんが、
> >> 実際にやってみて動くかどうかってところですね。
> >>
> >> ただ、TakeFinallyの使い方としては間違っていないです。
> >> そういったデータ登録後の微調整を自由に行える領域が
> >> まさにTakeFinallyと言えるわけなので。
> >> それでできてるなら問題ないと思います。
> >>
> >> また、ReplaceSchemaだけアップグレードってのも
> >> 選択肢の一つになる場合もありますよ。
> >> mydbflute配下が増えてチェックアウトが重くなりますが、
> >> ReplaceSchemaだけならアプリには影響を与えないので。
> >> もしくは、replace-schema.bat のときだけ、lib配下の
> >> dbflute.jar が最新版になって終わると元に戻るとか...
> >> 別に今のバージョンでやっていけているならいいですが、
> >> 要は工夫次第でそういったアプローチは幾らでもできるかと。
> >>
> >> 2011/5/17 五十嵐 大士 <[E-MAIL ADDRESS DELETED]>:
> >> > お世話になっております。
> >> > 五十嵐と申します。
> >> >
> >> > DBFlute.NET 0.8.0 を利用しております。
> >> > 既に運用中のシステムへの機能追加等のメンテナンスを行っているためバージョ
> >> > ンをあげることが困難な状況です。
> >> >
> >> > 特定の文字列カラムでNULLと空文字(StringEmpty)を使い分けたい要件がありま
> >> > す。
> >> > ReplaceSchemaを使ったテストデータ導入では、カラムごとにNULLと空文字を
> >> > 混在するができないと認識しています。
> >> > そこで、ReplaceSchemaのxlsファイルで空文字を「empty」という文字列で表し
> >> > take-finally.sqlで「empty」という文字列を空文字にUpdateさせることで対応
> >> > しています。
> >> >
> >> > 現状では特に問題なく運用できていますがこれって正解なんでしょうか。
> >> > より良い対応案があればご教授ください。
> >> >
> >> > 以上です。
> >> >
> >> >
> >> > _______________________________________________
> >> > seasar-dotnet mailing list
> >> > [E-MAIL ADDRESS DELETED]
> >> > https://ml.seasar.org/mailman/listinfo/seasar-dotnet
> >> >
> >> _______________________________________________
> >> seasar-dotnet mailing list
> >> [E-MAIL ADDRESS DELETED]
> >> https://ml.seasar.org/mailman/listinfo/seasar-dotnet
> >
> >
> >
> >
> > --
> > 五十嵐大士 <[E-MAIL ADDRESS DELETED]>
> >
> > _______________________________________________
> > seasar-dotnet mailing list
> > [E-MAIL ADDRESS DELETED]
> > https://ml.seasar.org/mailman/listinfo/seasar-dotnet
> >
> _______________________________________________
> seasar-dotnet mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dotnet






seasar-dotnet メーリングリストの案内