読者です 読者をやめる 読者になる 読者になる

Pagila Databaseをインポート済みのre:dashのVMを5分ぐらいで起動するスクリプトを書いた

まえがき

re:dashは頻繁にアップデートされるので、最新のバージョンを試ししたいときによくVagrantを使います。

Vagrantを使ったVM起動についてはre:dash標準の手順があるのでいいのですが、re:dashから利用するデータソースの準備はすこし面倒です。

ということで、re:dashのVMにサンプルデータベースを追加してくれるスクリプトを書きました。

github.com

Pagila

サンプルデータベースとして、MySQL用サンプルデータベースSakilaのPostgreSQL版のPagila Databaseを使用しています。

pgFoundry: Sample Databases: Project Home

各テーブルにどのようなデータが入っているかは、Sakilaのドキュメントを参考にすると良いでしょう。

MySQL :: Sakila Sample Database :: 5 Structure

手順

READMEの手順どおりにやれば、5分もかからずセットアップが終わります(Vagrant Boxのダウンロード時間を除く)

$ # READMEから抜粋
$ git clone https://github.com/ariarijp/redash-pagila-setup-script.git
$ cd redash-pagila-setup-script
$ git clone https://github.com/getredash/redash.git
$ cd redash
$ cp ../redash-pagila-setup.sh ./
$ vagrant up
$ vagrant ssh -c "bash /vagrant/redash-pagila-setup.sh"
$ ./bin/vagrant_ctl.sh start

起動したあとの動作確認

最後のコマンドでre:dashが起動したら、 http://localhost:9001 にアクセスするとログイン画面が表示されるので、デフォルトの admin / admin でログインし、

f:id:ariarijp:20160812215633p:plain

「New Query」をクリックして

f:id:ariarijp:20160812215742p:plain

適当なSQLを実行すると、結果が表示されます。

SELECT film.title,
       COUNT(film.film_id) cnt
FROM rental
JOIN inventory ON rental.inventory_id=inventory.inventory_id
JOIN film ON inventory.film_id=film.film_id
GROUP BY film.title
ORDER BY cnt DESC LIMIT 50;

f:id:ariarijp:20160812215848p:plain

まとめ

re:dashの最新版をカジュアルに試したいというモチベーションで書きましたが、Rebuildなどをきっかけにre:dashに興味を持たれたかたにも使っていただけると思います。よろしければ使ってみてください。

rebuild.fm