1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

MotionBoardで「データベース入力」をするときに気にするポイント

Posted at

はじめに

Wingarc1st社が提供する、MotionBoardという"ニッチ"なBIツールがあります。
様々な特徴のひとつに「ダッシュボードを閲覧するユーザが、ダッシュボード上のアイテム経由で、接続されるデータベースのテーブルのデータを書き換えられる」点が挙げられます。
使いようによっては危険な気もしますが、知恵を絞りぬいて日々改善し続ける生産現場の多様なニーズに対応できる面白い機能だと思います。
ただ、データベース周りの設定や、Motionboard側の設定など、いろいろ気を付けるポイントがあるので、整理してまとめておきます。

気を付けるポイント

大きく分けて「データベース側の設定」と、「Motionboard側の設定」がある

概要

  1. データベース側
    1. Motionboardの接続定義で使用されるユーザが対象テーブルに対して持つ権限
  2. Motionboard側
    1. 外部接続設定での当該データベースおよびテーブルなどに対する更新権限
    2. ユーザやグループに付与されているロールで制限されている機能に対する設定

データベース側の設定について

Motionboardが当該データベースシステムにアクセスする際に使用されるユーザが、そのテーブルのSELECT/INSERT/UPDATE/DELETE権限を持っているかどうか、要確認。

テーブルとユーザの権限の対応関係は以下のSQLで確認できる

SELECT grantee, table_name, privilege_type FROM information_schema.role_table_grants

もし権限を付与できていなければ、たとえば以下のような命令文で付与できる

--GRANTする例--
GRANT USAGE  ON SCHEMA schema_name TO hoge_mbuser;
GRANT SELECT ON ALL TABLES IN SCHEMA schema_name TO hoge_mbuser;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA schema_name TO hoge_mbuser;
など……

Motionboard側の設定

外部接続設定での書き込み権限設定

オンラインマニュアルでいう以下の設定を確認すること

ユーザに付与されるロールの設定

オンラインマニュアルでいう以下の設定を確認すること
「データベース入力(追加、更新、削除)」などがある

もしうまく行ってないときのエラー

原因との対応は撮れていないが、たとえば以下のようなエラーメッセージが出る。
まったくもって原因究明の参考にならないエラーメッセージしか出なくてしびれる。

グループにデータの更新権限がありません。
更新対象のデータが存在しません
ユニーク制約エラーです
等…

おわりに

「データベース入力」は、Motionboardが「BIツール」ではなく「アプリケーションビルダー」と呼ばれる所以の理由のひとつだと思ってます。
権限やガバナンスの話が絡んで非常に難しいとおもいますが、非常に特徴的な機能のひとつだと思うので、使ってみるのも手かと思いました。
((Motionboardじゃなくて別のツールでデータ入力しろよ、、、と思わんでもないですけど、まぁ、そこは、あの、ほら、利用するシステムの数は少ないに越したことはないし、ダッシュボードみつつシームレスにその場で業務したいやんやっぱり、スピード感って大事、だし?うん、、)

参考記事

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?