rakeコマンドはたまにしか使わなくていつも忘れてしまいます。
rakeとは
便利タスクを呼び出せるツールのことです。この記事ではRailsで利用することを想定しています。Rails5からはrakeだけでなくrailsコマンドからも実行できるようになっています。
migrationを実行
migrationを実行
rake db:migrate
rake db:create データベースを作成
データベースが無いときはまずcreateで作成します。
データベースを作成
rake db:create
rake db:drop データベースを削除
データベースを消すときに使います。
データベースを削除
rake db:drop
migrate、drop、createを一気に実行
rake db:reset
dbをロールバック
1つ戻ります。
rake db:rollback
ただし、rollbackする前にmigrationファイルを編集するとエラーがでます。
複数 rollbackしたい
複数一気にrollbackしたい場合は、STEPを使います。
rake db:rollback STEP=2
dbのバージョンを表示
rake db:version
bundle exec rake db:version
ActiveRecord::SchemaMigration Load (1.9ms) SELECT `schema_migrations`.* FROM `schema_migrations`
Current version: 20160221025548
Currentのバージョンが表示されました。
ここで1つrollbackしてからバージョンを表示します。
bundle exec rake db:rollback
bundle exec rake db:version
ActiveRecord::SchemaMigration Load (0.2ms) SELECT `schema_migrations`.* FROM `schema_migrations`
Current version: 20150812225828
Current versionが変わっているのがわかります。
db:migrate:statusで履歴を表示
いままでにmigrationをした履歴が表示されます。
rake db:migrate:status
履歴表示例
bundle exec rails db:migrate:status
database: pugiemonn_development
Status Migration ID Migration Name
--------------------------------------------------
up 20160122000858 Devise create users
up 20160122001228 Add columns to users
up 20160205000644 Add name to users
up 20160205000650 Create identities
OS時間の確認
time:zones:local
を使用するとローカルの時間を確認できます。
rake time:zones:local
* UTC +09:00 *
Osaka
Sapporo
Seoul
Tokyo
Yakutsk
Tokyoの時間と表示されています。