これは、他のいくつかの投稿で部分的にカバーされているが、直接適切に回答されていない、少し奇妙な質問です。schema_migrations
データベースには、数年前にハムフィストプラグインによってダンプされた移行バージョン番号がいくつかあります。
その運命の日以来、私たちのスキーマは次のようになっています。
ActiveRecord::Schema.define(:version => 20090409010513002) do
移行バージョン番号はlong
sであるため、Railsは、約6000万年後に作成されたスキーマバージョンであると想定します。
移行のドキュメントには、特定のデータベースで実行されていないすべての移行でupメソッドが呼び出されると記載されているため、これは安全だと思います。過去3年間、移行を作成して正常に実行しているため、これが当てはまるようです。Railsは「バージョン20090409010513002に正式に移行しましたが、まだ移行を実行していません(2012年に何か)ので、それを実行してデータベースに追加します。
私の質問は2つあります。
- 現状に隠れた危険はありますか?物事は十分に機能しているようですが、私は彼らがそうし続けることを知りたいです。
- これらの非常に長い移行番号には、実際には移行ファイルが添付されていないため(20090409010513のファイルはありますが、001または002バージョンのファイルはありません)、これらの行を削除しても害はありません。これにより、Railsは認識します。真の最新の移行?