感謝のプログラミング 10000時間

たどり着いた結果(さき)は、感謝でした。

rake db:migrate

スポンサーリンク

●モデルに関連づいたフォームを定義する
特定のモデルを編集するためのフォームを作成するためのビューヘルパーの構文は以下のとおり。

form_for(model) do |f|
  ・・・フォームの本体・・・
end

実際はこんな感じで書かれる。

<%= form_for(@person) do |f| %>

<% end %>

●rake db:migrate
rake db:migrateコマンドは、指定されたバージョンまでのマイグレーションファイルを実行する。
VERSIONオプションが承暦された場合には、最新の状態までマイグレーションファイルを実行する。現在よりも古いバージョンが指定された場合には古いスキーマに戻す。

redoコマンドは、指定のステップだけバージョンを戻して再度マイグレーションファイルを再実行する。
データベースを完全に削除して、再作成&最新のスキーマを再構築したい場合には、rake db:migrate:resetコマンドを使う。

rake db:migrate
rake db:migrate VERSION=2014032105060806
rake db:migrate:redo STEP=3
rake db:migrate:recet

●rake:db:drop
railsでデータベースを作成するのは、rake db:コマンド。

#本番環境のデータベースを新規に作成
rake db:create RAILS_ENV=production

#本番環境のデータベースを破棄
rake db:drop RAILS_ENV=production

#開発/テスト/本番環境のデータベースをまとめて作成
rake db:create:all

#開発/テスト/本番環境のデータベースをすべて破棄
rake db:drop:all

●rails dbconsole
rails dbconsoleコマンドをはdatabase.ymlに定義された接続設定にしたがって、データベースクライアントを起動する。

>rails dbconsole
sqlite> .tables
authors            books              reviews            use
sqlite>

sqlite> .schema books
CREATE TABLE "books" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "isbn" va
rchar(255), "title" varchar(255), "price" integer, "publish" varchar(255), "publ
ished" date, "cd" boolean, "created_at" datetime, "updated_at" datetime);

sqlite> select count(*) from books;
10
sqlite>

●rake db:fixtures:load
データベースにテストデータを投入するにはフィクスチャを利用する。
フィクスチャはrake:db:fixtures:loadコマンドでデータベースに投入できる。

rake db:fixtures:load [FIXTURES=names] [RAILS_ENV=env]

namesの部分はフィクスチャファイルの名前
envは環境名


■読んだ本

Ruby on Rails 3 アプリケーションプログラミング

Ruby on Rails 3 アプリケーションプログラミング

この本と、ポケットリファレンスを参照しながらひたすらコマンドを打ってみた。
ポケットリファレンスがあると、一つ一つがとても詳しく書かれているので、理解が進みやすい。