RDB(データベース)
ActiveRecord
データベースを操作するためのライブラリ
ActiveRecordを使用するには以下の様なファイルを使う
code:ruvy
class User<ActiveRecord::Base
end
これでUsersテーブルと自動的に紐づけされる
一つのテーブルに一つのクラスが対応
※テーブルは複数形、クラスは単数形
CRUDについて
「Create」「Read」「Update」「Delete」の頭文字をとったもの
Create レコードの作成
カラム名をキーとしたハッシュを引数にとる
code:ruby
User.create({
name:"hoge",
password:"password"
})
Readについて
レコードを読み取るという意味がある
users=User.allテーブルの全データを読み取る。インスタンスの配列が返される
user=User.find(1)指定したIDのレコードをインスタンスとして返す
user=User.find_by(name:"hoge")ID以外の条件で検索、最初にマッチしたレコードの一つをインスタンスとして返す
users=User.where(name:"hoge")ID以外の条件で検索、マッチしたレコードインスタンスの配列として返す
Update レコードの更新
code:ruby
user=User.find_by(name:"hoge")
user.name="hogehoge"
user.save!
これで更新が出来る。
また、update_columnを使用しても更新が出来る
code:ruby
user=User.find_by(name:"hoge")
user.update_column(name:"hogehoge")
Delete レコードの削除
code:ruby
user=User.find_by(name:"hoge")
user.delete
データベースを使うにはマイグレーションを実行する必要がある
/configのdatabase.yami内にデータベースの設定が書かれている
そこのデータベース名をかいて
rake db:createでデータベースを作成する必要がある
テーブル情報の反映には
rake db:migrateを入力する必要がある
これでマイグレーションファイルを元にテーブルが作成される
rake db:migrate:resetでデータベース内に入れた情報をリセットすることが出来る(migrateもしてくれる)
models.rb等を触った時は一度rubyを再起動するとなおる