JUST.DB テーブルデータの一括削除

こんにちは

JUST.SFA の構築作業を行っていると、テーブルデータを洗い替えしたい場面に遭遇することがあります。画面上からデータを削除する場合、一覧から削除するデータを選択してメニューから削除を実行します。
ですが、この方法では大量のデータを削除するには向いていません。

例)画面からデータを削除

そこで コマンドラインツールを使って一括でデータを削除します。
コマンドラインツールのヘルプはお使いの JUST.SFA環境で[ヘルプ]-[コマンドラインツール利用ガイド<PDF>]でご確認できます。
また、コマンドラインツールのダウンロードは JUST.SFAの 「運用管理画面」から実施しますので、管理者権限のあるユーザーが必要です。

■コマンドラインツールのセットアップ
 コマンドラインツールを実行する Windowsマシンにコマンドラインツールをインストールします。
 注:ここでは 64bit Windows へのインストールを実施しています。

  1. OpenJDK のインストール
    コマンドラインツールの実行に必要な Java Runtime Environment (JRE) をインストールします。
    JUST.SFA コマンドラインツールでは AdoptOpenJDK を利用します。以下のサイトからJDKを取得します。
    AdoptOpenJDK https://adoptopenjdk.net/index.html
    AdoptOpenJDK のページで、[OpenJDK 8(LTS)] を選択し、[Other platforms] をクリックします。


    [Other platforms] で表示されたページを下にスクロールして、Windows x64(64bit OSの場合)の JRE [.zip] をクリックして、ダウンロードを実行します。


    ダウンロードした ZIPファイル (この例では OpenJDK8U-jre_x64_windows_hotspot_8u302b08.zip)を任意のフォルダに解凍します。
    ここでは C:\jsfa フォルダ内に解凍しました。さらに解凍したフォルダ名を 「jre」 に変更しておきます。

    OpenJDKがWindowsで実行できるように環境変数を設定します。
    [Windowsの設定](歯車のアイコン)-[システム]-[詳細情報]-[システムの詳細設定] でシステムのプロパティを開きます。
    システムのプロパティ画面で[環境変数]をクリックします。
    環境変数画面でシステム環境変数の[新規] をクリックします。
    新しいシステム変数に
    変数名 JSFA_JAVA_HOME、変数値 C:\jsfa\jre (OpenJDKを解凍したフォルダ)を入力して、[OK]をクリックします。



    次に OpenJDKにパスを通します。
    システム環境変数の中で「path」を探して、[編集]をクリックします。
    環境変数名の編集画面で、[新規] をクリックし、「%JSFA_JAVA_HOME%\bin\」を入力します。 
    入力した行を [上へ] ボタンを使って一覧の先頭に移動します。

    ここまでの操作が完了したら 各画面を[OK]ボタンをクリックして閉じてください。
    コマンドプロンプトで java -version を実行すると openjdk のバージョンが表示されます。
  2. JUST.SFA コマンドラインツールのインストール
    コマンドラインツールは JUST.SFA 運用管理画面の右上にあるユーザー名をクリックし、メニューから[コマンドラインツール]-[Windows版] をクリックしてダウンロードします。

    jsfa-command-tools.zip がダウンロードされますので任意のフォルダに解凍します。
    この例では C:\jsfa-command-tools に解凍しています。
    次にコマンドラインツールの各コマンドの実行に必要な設定ファイルをダウンロードします。
    JUST.SFA 運用管理画面の右上にあるユーザー名をクリックし、メニューから[お知らせ]をクリックし、「 オープンなJava (JRE) の導入手順ご案内」をクリックします。
    jsfa-command-tools-ini.zip をクリックしてダウンロードします。

    ダウンロードした jsfa-command-tools-ini.zip を解凍し,\bin64フォルダ内にある iniファイルを C:\jsfa-commnad-tools\bin64 にコピーします。
    これで コマンドラインツールを使用する準備ができました。
    コマンドプロンプトで 以下のコマンドを実行してみます。コマンドラインツールの exeが実行されてメッセージが表示されます。
    > cd c:\jsfa-command-tools\bin64
    > jsfa_encrypt.exe


    コマンドラインツールで使用するユーザーのパスワードを登録しておきます。
    コマンドプロンプトで以下のコマンドを実行します。enter password: が表示されますので JUST.SFA のログインパスワードを入力します。
    > jsfa_encrypt.exe add [JUST.SFAのログインID]

■一括削除

一括削除を行います。コマンドラインツールのレコードアップロードを利用して全件削除を行います。
まず、アップロード設定ファイルを作成する必要があります。設定ファイルの内容は以下のようになります。
網掛け部分のパネル識別名はデータを一括削除する対象のパネル識別名を入力してください。
メモ帳などのエディタを使って作成しますが、文字コードは「UTF-8」で保存する必要がありますので注意が必要です。
————————————————————————–

# パネル識別名
#
# 設定値: インポート対象のパネルの識別名
# デフォルト値: なし(必須)
panelName = panel_0000000000

# 取込方法
#
# 設定値: CSV の取り込み方法を設定
# 0: 単純追加
# 1: 差分更新(フラグあり)
# 2: 差分更新(フラグなし)
# 3: 削除
# 4: 全削除
# デフォルト値: 0
importType = 4

# 通知
#
# 設定値: 処理完了後の通知方法を設定する
# 0: 通知メッセージなし
# 1: 正常終了を通知
# 2: エラー終了を通知
# 3: 正常終了・エラー終了を通知
# デフォルト値: 0
notification = 3

# 通知メール有無
#
# 設定値: 通知メールの送信有無を設定する。
# 通知が「0: 通知メッセージなし」の場合はメール送信を行わない。
# true: 送信する
# false: 送信しない
# デフォルト値: なし
notificationMail = false

いよいよ 一括削除の実行です。

実行前にはデータが一覧に表示されています。

コマンドプロンプトで以下のコマンドを実行します。
> jsfa_recordupload.exe -t [テナント名] -u [ユーザーID] -s [アップロード設定ファイルのパス][テナント名]は お使いの JUST.SFA の URL で、https://ooooo.justsfa.com/ の ooooo の部分です。
[ユーザーID]は パスワード登録を行った JUST.SFAのログインIDです。
[アップロード設定ファイルのパス] に 先程作成したアップロード設定ファイル のパスを記載します。
実行結果は以下のようになります。

データが削除されているか確認します。表示を更新してみると「レコードがありません」となりました。

長い手順でしたが、設定ファイルまで作成しておけばいつでもデータの削除が可能になりました。
バッチファイルを作成しておけばコマンドを毎回入力する必要もなくなると思います。また、コマンドラインツールではデータの一括ダウンロードやアップロードも可能です。定期的にデータを取り込むような処理を作成する場合などに使用することもできます。