せめて開発環境ではAdminer使ったら?

落ち込むプログラムのキャラクター
プロジェクトに参画してて他のエンジニアの人の仕事眺めてるとですね、サーバにSSHで接続してゴリゴリSQLクエリ書いてる人、いるんですよ。いやわかりますよ、僕だって古い人間ですから、クエリ組み立てられることの大事さとか、コマンドで打ち込むことでわかることがあるとか。でもさーどんなにひいき目に見たって、DBの出力データをコンソールで見るのは無理がないですか。思考とキーボードが有線で直結してるようなスーパーハカーならいいですけど、通常はざっくりとした把握で終わるだけだと思うんですよ。視覚って大事ですよ。



プロダクトのCS対応でデータの出力やら更新やらといった単語がSlack上で割と良く出てるんで、なんらかのツールを使ってるんだろうなと思い込んでてですね、「このデータベースの更新てどうやってるんですか?」って質問投げたら、「え、サーバにログインしてクエリで……」(もしかしてそんなことわからないってことないですよね?)っていう答えが返ってきまして、マジか。シンプルにだるい。

出力と更新だけならまあいけるかもだけど、「問題あるデータを検索して特定し、修正」とかいう作業もそれでやってるらしい。え、それちゃんとミス無く出来てんの?僕は自信ないなあ……コンソールでデータ出力とか、まともに見えた例しがないんですけど。全画面表示とかにするならともかくとして……視認性が求められる作業をコンソールでやろうっていうの、それ単なる苦行じゃないの?



Adminer使いましょう

一昔前に流行った「phpMyAdmin」にはセキュリティ上の問題があり、またプログラムのサイズが重くその割に使いづらいという欠点があったんですが、その代替として広く使われるようになった(今も使われてます……よね?)「Adminer」は1ファイルで軽量かつ高機能という神ツールです。ダウンロードしてきたファイルを配置するだけでインストールが終わりますし、適切に権限が付与されたユーザーでログインすれば必要な操作は全てできます。当然、任意のクエリも実行可能です。

詳しい情報はこの辺のページで。

データベース管理ツール Adminer – ラボラジアン



調べてみると今は他にもいろいろ出ているみたいですが、個人的にはローカルにインストールして使用するツールはあんまり好きじゃないです。なんというかこうローカルの中、仮想環境とかぐちゃぐちゃになってるのでツールが自動的にローカルのDBに接続したりして面倒なことになったことがあったんですよね。ちゃんと設定すれば大丈夫なんでしょうけど。それより、サーバに置いて権限を管理しておけばチーム誰もが使えるツールの方が有用かなと。

セキュリティのこと考えると本番環境にはおかない方がいいかも知れませんが(IP制限などをしてもいいですが置かないのが一番安心です)、せめて開発環境だけでもなんとかならんかと。いやあほんと、そういうとこだと思うぞ。