rails のマイグレーション

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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です