見出し画像

Goqoo on kintone でscaffoldした後に項目を追加して整合性を保ちたい

Goqoo on kintoneでscaffoldでファイルを生成したあとに、フィールドを追加したくなることがある。

kintoneのフォームで項目を変更するとfieldMap.jsonと不整合が発生する。コードジェネーターなので同期する仕組みはないと思う。
結果、カスタマイズビューにおいてvueでfieldMap.jsonを読んでいるため追加した項目がでないということになる。

回避方法

回避方法としては、

1)手でいじれる範囲であれば、fieldMap.jsonを変更する

2)scaffold 別名:同じアプリID
で再度実行する。kintoneの同じアプリIDに対してgoqooはアプリ名を変えれば別と扱うようだ。
そうすると現在のkitone上の情報で、fieldMap.jsonを生成してくれる。
この情報で古いfieldMap.jsonを上書きする。ダミーで作ったscaffoldはいらないので、フォルダをまるごと削除して、config/goqoo.config.ymlからダミーのgoqooアプリ名が入った行を削除する。

3)ginueをつかう
https://github.com/goqoo-on-kintone/ginue

ただし、完全に形式は一致していないようだ。

form.json



{
  "properties": [
    {
      "type": "SINGLE_LINE_TEXT",
      "label": "文字列 (1行)",
      "noLabel": "false",
      "code": "文字列__1行_",
      "required": "false",
      "minLength": null,
      "maxLength": null,
      "expression": "",
      "hideExpression": "false",
      "unique": "false",
      "defaultValue": ""
    }
  ]
}
fieldMap.json


{
    "文字列__1行_": {
      "type": "SINGLE_LINE_TEXT",
      "label": "文字列 (1行)",
      "noLabel": "false",
      "code": "文字列__1行_",
      "required": "false",
      "minLength": null,
      "maxLength": null,
      "expression": "",
      "hideExpression": "false",
      "unique": "false",
      "defaultValue": ""
    }
  }