TypeObjectを使用したTable作成について
お世話になっております。
現在、Kompira EnterpriseのType Objectを紐付けたTableを作成しているのですが、Tableへの項目追加の際に内部エラーが発生しているとのエラーメッセージが表示され、項目が追加できません。また、その際にTableの画面に戻りますと、「value too long for type character varying(1024) (DataError)」というエラーメッセージが表示されています。
作成したTypeObjectの1つのフィールドをEnum型にしていて、そこのフィールド修飾子に長文を指定していることが理由の一つかと思われるのですが、その場合、フィールド修飾子の文字数制限などがありましたら教えていただきたいです。
以下、作成しているTypeObjectの内容と、追加しようとしている項目の情報です。
【TypeObject】
項目1
フィールド名 hogehogeA
フィールド表示名 hogehogeA
フィールド型 Enum
フィールド修飾子: {"Enum": ["aaa","bbb",.....]}(250個程度の選択肢)
項目2
フィールド名 hogehogeB
フィールド表示名 hogehogeB
フィールド型 Enum
フィールド修飾子: {"Enum": ["aaa","bbb",....]}(10個程度の選択肢)
【Tableに追加しようとした項目】
名前 test
hogehogeA aaa
hogehogeB bbb
以上ご確認の程よろしくお願いいたします。
-
正式なコメント
修飾子には1024文字までの長さ制限がありますので、Enumフィールドで数が多いものは作成できないかと思います。
数の多い選択肢を定義したい場合は、例えば以下の方法がございます。
(1) フィールドを1つも持たないEnumName型を定義する。
(2) EnumName型のテーブルを作成し(例えば、テーブル名をenum_itemsとする)、そこに、Enumの要素をオブジェクト名(aaaやbbb, cccなど)として追加していく
(3) 定義したい型オブジェクトにおいて、Enum型フィールドの代わりに、Object型フィールドを用いて、修飾子に、{"object": "./enum_items"} を指定する(enum_items テーブルと定義したい型オブジェクトが同じディレクトリにあると想定)。
このようにすることで、enum_items に追加されたオブジェクト名が選択肢として表示されるようになります。
以上、よろしくお願いいたします。
コメントアクション
サインインしてコメントを残してください。
コメント
4件のコメント