Migration
一回登録までしてたのに、編集画面のキャッシュのおかげで飛んだやつ。なんか、どっか変かも。
はてながOperaに優しくない件について、どうしてやろうかと。
以下より。
DB作る場合はこいつを使うのがよさげ。
現在はこの辺を読み中。アーキテクチャを頭に入れるのは、私のような凡庸な頭脳ではなかなか難しいので、実践しながらやっている。
http://www-06.ibm.com/jp/developerworks/special/dlife/library/itm-rails2-redrails/
その過程でMigrationも使ってみた。
以下、メモ。
手順
新規プロジェクト
新規Railsプロジェクトを作成。
migrateのgenerate
Railsパースペクティブ下部にあるGenetors機能で(なければ例によって画面左下から)左のコンボでmigrateを選択し、右にcreate_projectnameとか適当な名前を入れてgo。
ここ適当な名前じゃまずいのかもしれんが、詳しいことはしらない。
migrateファイルの記述
なんかdb/migrateの下に変なファイルが出来るので、こんな感じで書く。
class CreateEmployee < ActiveRecord::Migration def self.up create_table :employees do |t| t.column :name, :string, :limit => 255, :null => false t.column :age, :integer t.column :birthday, :date t.column :position, :string, :limit => 255 end create_table :expressions do |t| t.column :name, :string, :limit => 255, :null => false end end def self.down drop_table :expressions drop_table :employees end end
詳しくはこの辺を参照。
http://akimichi.homeunix.net/hiki/rails/?cmd=view&p=migration&key=migration
http://webos-goodies.jp/archives/50741819.html
db:migrateの実行
Railsパースペクティブ下部にあるRake Taskを選択して、左側のコンボボックスでdb:migrateを選択。
なんかこのRake Taskってバギーっぽいので、左側のコンボボックスに何も表示されないときがあるが、その場合は一度閉じてから開き直すと表示される。
で、右側は空で、go。ちなみに右側に--traceとか入れると詳細が出る。要は右はコマンドラインオプション。
DBは勝手に作られるので、SQLiteで事前に作る必要もない。
このコマンドの前に、database.ymlを適当に設定すること。私はこんなん。
development: adapter: sqlite3 database: db/dev.db test: adapter: sqlite3 database: db/test.db production: adapter: sqlite3 database: db/prod.db
で、scaffold
あとは適当に。