2017-08-23 13 views
1

にitems.xmlにデータ・タイプを再定義:次のようには、私がitems.xmlに、以下のように定義されたデータ型だったHYBRIS

<attribute qualifier="daysOfWeek" type="java.lang.String"> 
        <persistence type="property" /> 
</attribute> 

列挙にデータ型を変更するには、私はそれを再定義:

   <enumtype code="DaysOfWeek" autocreate="true" generate="true"> 
         <value code="Monday" /> 
         <value code="Tuesday" /> 
      </enumtype> 

     <attribute qualifier="daysOfWeek" type="DaysOfWeek"> 
       <persistence type="property" /> 
     </attribute> 

拡張を更新した後、私はSQLExceptionを取得しています。このアプローチに何か問題がありますか?

答えて

1

hybrisは、このような更新を「実行中」のシステムでサポートしていません。その理由は、hybrisは、そこに含まれるデータが失われる(複数のサポートされているデータベースではこのロジックを記述するのが難しい)ので、dbカラムを削除して再作成しないためです。

プロジェクトの開発段階にある場合、これを修正する最も簡単な方法は、システムを最初から初期化することです(データベースを削除して再作成する)。

ライブシステム/プロダクションシステムを使用している場合は、別の方法をとる必要があります。 列挙型で新しい属性(別名!)を定義します。 次に、新しいフィールドを使用するようにコードを更新します。 また、古いデータ(文字列「月曜日」を新しい列挙値に変換する)を転送するスクリプトを書くなど、データの移行にも注意する必要があります。

希望すると便利です。

関連する問題