Railsではデータベースを初期化する際にデータをセットアップすることができます。その際に利用するのがYAMLフォーマットなのですが、入力が何かと面倒と感じている人は多いのではないでしょうか。 もっと手軽に最初のデータ(マスタ)を作りたい、そう思う方に使ってみて欲しいのがseedtableです。

seedtableの使い方

seedtableはYAMLとExcelを相互変換するライブラリです。例えばExcelでは次のように表組みされます。2行目がYAMLのカラム名相当なのが特徴的です。

|ID|名前|説明|
|:---|:---|:---|
|id|name|description|
|1|さくら|F.I.R.S.T|
|2|アルル|ボク|
|3|さっちゃんさん|髪が長い|

これをseedtableを使って変換すると次のようなYAMLファイルになります。ExcelファイルはXLSXでなければなりません。

data1:
  id: 1
  name: さくら
  description: F.I.R.S.T
data2:
  id: 2
  name: アルル
  description: ボク
data3:
  id: 3
  name: さっちゃんさん
  description: 髪が長い

Excelファイルであればデータの作成が容易になります。利用法としては最初に既存のYAMLファイルをXLSXに変換し、メンテナンスした後でYAMLファイルに変換し直すのが良いのではないでしょうか。もちろん汎用的なYAMLファイルなので他のプログラミング言語でも便利に使えるはずです。

seedtableはWindows(Monoでも動きます)用のオープンソース・ソフトウェア(MIT License)です。

2016/10/13:ライセンス修正

seed-ui/seedtable: seed yaml < -> xlsx を相互変換するツール