LoginSignup
2
0

More than 5 years have passed since last update.

Railsのmigrateファイルの名前を連番値に変更

Posted at

変更方法

config/application.rb
+ config.active_record.timestamped_migrations = false

20130603012345_create_hoge.rbではなく
001_create_hoge.rbの様なファイルが作成される

警告

Rails 2.1 以前のバージョンでは、マイグレーションファイルは「001_create_hoge.rb」のように単純な連番で管理されており、現在のマイグレーション番号については schema_info というテーブルで最後に実行された数値だけを管理していました。
そのため、リポジトリ等を用いて複数の開発者が作業を行う場合、簡単にバージョンの衝突が発生しました
...
現在のマイグレーションファイルはどのように管理されているのか。
まずネーミングですが「20130603012345_create_hoge.rb」のようにタイムスタンプを用いるように変更されています。
秒数まで同じタイミングでマイグレーションが作成された場合は相変わらず衝突しますが、以前の数字を用いる方式と比べればずっと可能性は低くなっています。
...
過去のバージョン管理を使いたい場合 config/application.rb で次のように記載すればいいようです。
config.active_record.timestamped_migrations = false
上で述べたようにデメリットの多い方式であるため、できる限り使わない方がいい事は重ねて述べておきます。

2
0
0

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
  3. You can use dark theme
What you can do with signing up
2
0