rails のマイグレーション
マイグレーションは
DBのテーブルの作成や修正に使う機能のこと
このマイグレーションにより
SQLを書かずに
ruby でファイルにDBの変更内容を記述することにより
DBのスキーマを作成したり更新したりできる
スッk−まは
どのテーブルに
どの形式のカラムが含まれているかという情報のこと
マイグレーションファイルは
rails g model などのコマンドを実行すると
db/migrateフォルダに作成される
これができた状態で
rake db:migrate
を実行すると
db/schema.rb に
DBのスキーマが記録される
この
db/schema.rb は
マイグレーションにより自動で更新されるので
手動でいじらないこと
これと似たようなものが Android アプリ作成のときにも
あったような…..
ちなみに、実際のDBテーブルは
rake db:migrate
を実行したときに作成される
なので、
rake db:migrate
のあとにマイグレーションファイルを編集しても
内容は反映されないので注意
マイグレーションファイルは、設定のためのファイルのようなもの
sql ファイルをいじっても実行しないとDBが更新されないようなかんじ
実行すると
== 20161103144900 CreateMessages: migrating ===================================
-- create_table(:messages)
-> 0.0011s
== 20161103144900 CreateMessages: migrated (0.0012s) ==========================
というように
テーブルが作成されたのがわかる
これで作成されたDBのテーブルは
db/schema.rb で確認できる
つまり、どんなテーブルを作成するのかなどの
model 関連を調べるには
schema.rb をみて予測することができる
ちなみに、rails のDBはデフォだとsqlite になる
このため
db/development.sqlite3 がDBファイルになる
もしDBの中身をみたいのなら
rails db
とすると
sqlite コンソールを開けるので
.schema
とすると
作成したテーブルをみることができる
やり方は
テーブルスキーマ(構造)の確認
を参考にさせていただきました
ちなみに、sqlite3 の状態から抜けるには
.q
とすればOK