search
LoginSignup
1

posted at

Railsのマイグレーション関連のコマンド(備忘録)

はじめに

Rialsのマイグレーション関連のコマンドを備忘録としてまとめました。

migrationとは?

【Railsガイド参照】 マイグレーションは、データベーススキーマの継続的な変更(英語)を、統一的かつ簡単に行なうための便利な手法です。マイグレーションではRubyのDSLが使われているので、生のSQLを作成する必要がなく、スキーマおよびスキーマ変更がデータベースに依存しなくなります。

個別のマイグレーションは、データベースの新しい「バージョン」とみなせます。スキーマは空の状態から始まり、マイグレーションによる変更が加わるたびにテーブル、カラム、エントリが追加または削除されます。Active Recordはマイグレーションの時系列に沿ってスキーマを更新する方法を知っているので、履歴のどの時点からでも最新バージョンのスキーマに更新できます。Active Recordはdb/schema.rbファイルを更新し、データベースの最新の構造と一致するようにします。

マイグレーション機能があることにより、SQLを書くことなくRubyでデータベース内にテーブルを作成することができます。Rails内のActiveRecordという機能がRubyをSQLに自動翻訳することができるため、SQLを書く必要がなくなります。

コマンド

migrate

$ rails db:migrate

migrationファイルを元に、データベースに変更を加える。

status

$ rails db:migrate:status

migrationファイルの適用状態を確認する。
up・・・マイグレーションファイルを実行済み。
down・・・マイグレーションファイルがまだ実行されていない。

up

$ rails db:migrate:up VERSION=20220101080718

指定したマイグレーションファイルのみ実行する。

down

$ rails db:migrate:down VERSION=20220101080718

指定したマイグレーションファイルのみ外す。

rollback

$ rails db:migrate:rollback

データベースの構造を前の状態に戻す。

reset

$ rails db:migrate:reset

データベースの初期化し、何も入っていない状態にする。

参考URL

Active Record マイグレーション
【Rails入門】データベースを設定するrails db:migrateを説明!
Rails初心者がつまずきやすい「マイグレーション」

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
1