怖話:リポジトリの更新とダミーデータ作成周りの調査

お休みを頂いていたので、1月からの作業の続き。

怖話を最新に更新&リセット


とりあえず、リポジトリを最新に:

git stash save
git pull origin master -v
git stash pop

OK。で、db:migrateしたらbundle installしろとのmsgが:

bundle install

OK。またもやdb:migrateでエラー。MySQLが動いてなかった…:

mysql.server start
db:migrate

A-OK!さて、ダミーデータ作成の続き…の前にゴミデータを消す必要があります:

rake kowabana:reset

怖話のタグ一覧画面用ダミーデータ


タグのデータを作っていきます。

kowabanaを立ち上げて、

rails s

タグ付きの話を登録。tag, taggingsのデータをdbconsoleで確認します:

rails dbconsole
mysql> select * from taggings;
+----+--------+-------------+---------------+-----------+-------------+---------+---------------------+
| id | tag_id | taggable_id | taggable_type | tagger_id | tagger_type | context | created_at          |
+----+--------+-------------+---------------+-----------+-------------+---------+---------------------+
|  1 |      1 |          12 | Story         |      NULL | NULL        | tags    | 2013-02-25 04:19:29 |

tags、tagginsのデータを作ればいいことがわかりました。

Railsのデータ作りにはざっくり言って下記の方法があります:

fixturesはどうも評判が良くないみたいというのと、seedsはそのアプリを動かす時に必要な最低限のデータを作成するためのものということで、その他の方法を調べてみたのですが学習コストが高く諦めました。

テストのためのデータならFactory Girlを使うのが吉のようなのですが、今回は画面をデザインするのにデータを自動で作れたらという程度のものなので、Railsタスクを作ってデータを作ることにしました。

(続きは明日)

資料:References


アプリ用のミニマムなデータを作成する時、rake db:seed

Railscasts: #179 Seed Data

http://railscasts.com/episodes/179-seed-data

テストデータを作成する時、rake db:populate
(populate gemの最終更新が2年前。rails3未対応)

Railscasts: #126 Populating a Database

http://railscasts.com/episodes/126-populating-a-database

ダミーの文字列を作ってくれる:

Gem Fakerのドキュメント

http://rubydoc.info/gems/faker/1.1.2/frames

Gem Fakerの使い方がちょこっと:

The UI Controller, part 2: Faking It

http://blog.hashrocket.com/posts/the-ui-controller-part-2-faking-it

seed-fuというのもあるらしい:

seed-fuで始める効率的なRails Seed管理
http://morizyun.github.com/blog/seed-fu-ruby-on-rails-setup/

Fabrication!:

Fabrication!

http://www.slideshare.net/KenichiTachibana/fabrication-10499288

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s