CSVでバージョンが指定されている場合
全バージョン含めて指定された oid 、version のデータが存在するか検索
1.1. 指定バージョンが存在する場合は対象バージョンを更新 (UPDATE_SPECIFIC)
1.2. 指定バージョンが存在しない場合は、oid で登録状態をチェック
有効データに指定された oid のデータが存在するか検索
1.2.1. 有効データに oid データが存在する場合は、新しいバージョンとして追加 (UPDATE_NEW)
新しいバージョンの元となるバージョンは有効データとする(version=nullで更新)
1.2.2. 有効データに oid データが存在しない場合は、全バージョン含めて oid の登録状態をチェック
全バージョン含めて指定された oid のデータが存在するか検索
1.2.2.1. 全バージョンに oid データが存在する場合は、新しいバージョンとして追加 (UPDATE_NEW)
新しいバージョンの元となるバージョンは登録済 version のMAX値データとする
1.2.2.2 全バージョンに oid データが存在しない場合は、追加する (INSERT)
CSVでバージョンが指定されていない場合
有効データに指定された oid のデータが存在するか検索。1.2と同様のチェックを行う。
対応内容
同じOIDに対して無効データのみのEntityデータに対して、CSVアップロードを利用して、「新しいバージョンとして更新」しようとしても「新規追加」として、別のOIDデータとして登録されてしまう。 登録済の状態を判定する際に、無効データも含めたチェックを行う。 fixes #1624
補足情報
バージョン管理Entityに対して、
CSVでバージョンが指定されている場合 全バージョン含めて指定された oid 、version のデータが存在するか検索 1.1. 指定バージョンが存在する場合は対象バージョンを更新 (
UPDATE_SPECIFIC
) 1.2. 指定バージョンが存在しない場合は、oid で登録状態をチェック 有効データに指定された oid のデータが存在するか検索 1.2.1. 有効データに oid データが存在する場合は、新しいバージョンとして追加 (UPDATE_NEW
) 新しいバージョンの元となるバージョンは有効データとする(version=nullで更新) 1.2.2. 有効データに oid データが存在しない場合は、全バージョン含めて oid の登録状態をチェック 全バージョン含めて指定された oid のデータが存在するか検索 1.2.2.1. 全バージョンに oid データが存在する場合は、新しいバージョンとして追加 (UPDATE_NEW
) 新しいバージョンの元となるバージョンは登録済 version のMAX値データとする 1.2.2.2 全バージョンに oid データが存在しない場合は、追加する (INSERT
)CSVでバージョンが指定されていない場合 有効データに指定された oid のデータが存在するか検索。1.2と同様のチェックを行う。