心はいつもAirPucci (空元気でもいいから)

毎日がPucciを着ているような気分

データベースのリファクタリング?

      2014/01/19


ruby on rails3プリケーションプログラミングの本の内容をruby2.0+rails4でやってみようと思っていましたが、正直あまりよい本ではありませんでしたので中断しました。理由は
・最終的になにができあがるかみせていない
・ひととおり技術の羅列、資料的
・チュートリアルになっていなく、どこを新規に記述すべきか明示していない。
・無理矢理進めようとしているせいか、あまりコーディングとして望ましい姿になっていない
・上と同じ原因で開発の考え方も間違ったものがみにつきそう
本書はおすすめいたしません。Railstutorial.jpをおすすめします。以下はメモ書き。

p91よりDBモデルを変更する手順です。いきなりDB dropですよ。

rake db:drop:all

これでdbがなくなります。

rails g model authors_book author:references book:references
rails g scaffold user username:string password:string email:string dm:boolean roles:string
rails g scaffold author user:references name:string birth:date address:text ctype:string photo:binary
rails g scaffold review book:references user:references body:text
rails g scaffold fun_comment author_no:integer name:string body:text deleted:boolean

AuthorsBooksのmigration。indexも削除しました。

class CreateAuthorsBooks < ActiveRecord::Migration
  def change
    create_table :authors_books, id: false do |t|
      t.references :author
      t.references :book

#      t.timestamps
    end
  end
end

rake db:migrateは成功しました。

さて、rails newするときにわざわざtestフォルダを作成しないように作りましたが、fixtureでテストデータを読み込ませるとこのことで、
/test/fixture/いろいろ.yml

testフォルダを作ったらサンプルコードからファイルをコピって来ます。

rake db:fixtures:load

なんの反応もエラーも成功もメッセージがでませんが、.ymlの中身がdevelopment.dbにコピペされています。

本ではターミナルからsqlを打てるようになる
rails dbconsole
が紹介されています。

私はてっとりばやくBASEでやっています。

ここが3章の山場でしょうか?
scaffoldして、できたDBをいきなりモデル変更。導入のためとはいえ、たぶんテスト書きながらのアジャイル開発だとこれはないだろうな。

git commitしておきます。

——

この後、進めようと思いましたが、Viewの開発で、form_tagのコントローラーとしてform_tagを設定する等、妙な記述が続いていましたので本書の使用はやめました。おすすめいたしません。

rails3と4の違いを確認することができてよかったとは思います。

 - テクニカル

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  関連記事

no image
retweetボタンを追加してみました

最近いろんなブログで見かけるretweetボタン。ブログのエントリーについている …

no image
Gitをインストールする

Rails開発がしたいのですが、今後必要になるでしょうからGitをインストールし …

RailsTutorial4.0を高速で復習する。8章。

仕様の探求 userモデルには、登録と認証、承認に必要なモデルは既に作ってありま …

つながらないWimaxの電波倍返し

googleが見つかりませんと言われると、対外電波切れ。 本日は多発しています。 …

no image
RailsTutorial4.0を高速で復習する。11.2.3章。

11.2.3「フォローしているユーザー」ページと「フォロワー」ページ、です。 仕 …

MacBookAirにMavericksインストールしました

先週の話になってしまいますが、MacBookAirにMavericksインストー …

no image
RailsTutorial4.0を高速で復習する。10.3.2章。

10.3.2マイクロポストを作成する、です。 テストを書く micropostの …

no image
RailsTutorial4.0を高速で復習する。9.3.4章。

9.3.4パーシャルのリファクタリング、です。 テストパスしているのでリファクタ …

MacBookAirの容量が足りない

当ブログairpucciで人気なのがMacBookAirに関するエントリ。ありが …

attr_accessorでRuby文法を噛み締める

作りたいwebアプリがあって、プログラムやろう!となって現在にいたってる訳です。 …