最近流行りのノンプログラミング開発をintra-martのLogicDesignerを利用してやっています。
環境が開発環境、本番環境に分かれていて、リリース時には「差分だけ」の運用をしていますが、ノンプログラミングなのでSVNで管理できるわけもなく、リリース漏れによるデグレードが非常に怖いです。(※intra-mart 2019winter の話です)
そこで、DB上に登録されるフロー定義の更新日付を見て資材に更新が発生したかどうかを確認する方法を考えました。
結果の項目名、項目数を合わせているのは、LogicDesignerで結果をまとめてCSV出力する際に都合が良いからです。
あまり検証できていませんので過信はできませんが、チェック用には使えると思います。
更新のあるロジックフロー取得
--- 更新のあるロジックフロー取得
SELECT
'LD' AS kbn
,FC.category_name AS detail_kbn
,TB1.flow_id AS id
,TB1.flow_name AS name
,'' AS note
,TB1.create_date AS create_date
,TB1.record_date AS record_date
FROM
imld_logic_flow AS TB1
,imld_flow_category AS FC
,imld_flow_category_relation AS FCR
,(
SELECT
flow_id
,MAX(record_date) AS max_rec_date
FROM
imld_logic_flow
WHERE
delete_flag = '0'
GROUP BY flow_id
) AS MAX_TB
WHERE
TB1.flow_id = MAX_TB.flow_id
AND TB1.record_date = MAX_TB.max_rec_date
AND TB1.record_date >= /*targetDate*/'2022/09/24' -- ここは任意の日付に
AND FCR.flow_id = TB1.flow_id
AND FC.category_id = FCR.category_id
ORDER BY detail_kbn, id
更新のあるユーザ定義の取得
-- 更新のあるユーザ定義の取得
SELECT
'UT' AS kbn
,UC.category_name AS detail_kbn
,UD.definition_id AS id
,UD.definition_name AS name
,UD.definition_type AS type
,UD.create_date AS create_date
,UD.record_date AS record_date
FROM
imld_user_category UC
,imld_user_category_relation UCR
,imld_user_definition UD
WHERE UC.category_id = UCR.category_id
AND UCR.definition_id = UD.definition_id
AND UD.delete_flag = '0'
AND UD.record_date >= /*targetDate*/'2022/09/24' -- ここは任意の日付に
ORDER BY detail_kbn, id
以上です。
現場で作成したものを手動で転記したので間違いあるかもです。
同じやり方でForma定義とか、データソース定義とかも抽出できると思います。