Rails基礎④ 初期データの管理
DBの操作・確認
DBへの接続
$ rails dbconsole
もしくは、
$ rails db
デフォルトはSQLiteとなっている。
テーブルの確認
sqlite > .tables
モデル名Post
のデータを確認する
sqlite > Select * From Posts;
※テーブル名は複数形であることに注意。
DB操作から抜ける
sqlite > .quit
ファイルで初期データの管理をする
db/seeds.rb
Post.create(title: "hogehoge",body: "fugafuga")
これは、
post = Post.new(title: "hogehoge") post.body = "fugafuga" post.save
と同じで、ひとまとめにして登録ができる。
保存したい属性(カラム)をすべて引数で渡す必要がある。
登録できたかどうかをtrue
またはfalse
で返却してくれる。
newを使用することで、生成したインスタンスを受け取ることができるので、 インスタンスが必要な場合はnew~saveを使用することも検討する。
他の記述方法、初期データの登録方法は以下のサイトが勉強になった。
テーブルの中身をクリア
$ rails db:migrate:reset
seeds.rbで作成したデータをDBに流し込む
$ rails db:seed
マイグレーションファイルについて
マイグレーションファイルはデータベースを生成する際の設計図のようなもの。 これを実行することにより、その内容に基づいてテーブルを生成してくれる。
$ rails g model
を実行したときに一緒に生成されるが、
マイグレーションファイルのみ生成したい場合は
$ rails g migration マイグレーション名
を実行する。
db:migrate
を実行すると、形がほぼ完成してしまうので、あとで変更が難しくなってしまうため注意が必要(オプションやインデックスの追加等)。