SuzuBlog

webのお勉強はじめたばかりの初心者。備忘録

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を使用することも検討する。

他の記述方法、初期データの登録方法は以下のサイトが勉強になった。

www.javadrive.jp

テーブルの中身をクリア

$ rails db:migrate:reset

seeds.rbで作成したデータをDBに流し込む

$ rails db:seed

マイグレーションファイルについて

マイグレーションファイルはデータベースを生成する際の設計図のようなもの。 これを実行することにより、その内容に基づいてテーブルを生成してくれる。

$ rails g modelを実行したときに一緒に生成されるが、

マイグレーションファイルのみ生成したい場合は

$ rails g migration マイグレーション名

を実行する。

db:migrateを実行すると、形がほぼ完成してしまうので、あとで変更が難しくなってしまうため注意が必要(オプションやインデックスの追加等)。