[解決済み] Railsマイグレーション:現在のマイグレーションバージョンを取得する最良の方法
2023-04-03 18:25:08
質問
マイグレーションのバージョン番号を取得する良い方法はありますか?
あるモデルで、特定のマイグレーションバージョン以降に異なる動作をするメソッドを実装する必要があります。
接続アダプタのassume_migrated_upto_versionはデータベースからバージョンを取得していることがわかりましたが、他がわかりません。
背景 テーブルAから2つの列を削除し、テーブルBに移動し、テーブルAからテーブルBに関連付けを追加しようとしています。
この変更の間、私はこれらの2つの列にアクセスする必要があります。しかし、その後、私は互換性のためにこれらの列のためのプロキシメソッドを追加したいと思います。
どのように解決するのですか?
Rails
5.2
以上であれば
> ApplicationRecord.connection.migration_context.current_version
(0.3ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
=> 20200510093804
> ApplicationRecord.connection.migration_context.get_all_versions
(0.3ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
=> [20191005164928,
20191006111502,
...
までのRails
5.1.7
:
> ActiveRecord::Migrator.current_version
(0.2ms) SELECT "schema_migrations"."version" FROM "schema_migrations"
=> 20120110085802
> ActiveRecord::Migrator.get_all_versions
(0.3ms) SELECT "schema_migrations"."version" FROM "schema_migrations"
=> [20111114121610,
20111115091108,
...
関連
-
[解決済み] 変更欄のRailsマイグレーション
-
[解決済み] Railsマイグレーションを利用してカラムをドロップする方法
-
[解決済み] Railsでグループとカウント
-
[解決済み] Railsマイグレーションで、既存のテーブルにカラムを追加する
-
[解決済み] Ruby on Railsのマイグレーションでデータベースのカラムの名前を変更するにはどうすればよいですか?
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み] Rails DBの移行 - テーブルを削除するには?
-
[解決済み] Ruby on Railsのマイグレーションで、カラムをユニークにしてインデックスを作成するにはどうすればよいですか?
-
[解決済み】Rails 3でlibフォルダからモジュール/クラスをロードする最良の方法?
-
[解決済み】ActiveRecord::ReadOnlyRecordのエラーの原因は何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】修正方法:エラー:'<ファイル名>'にチェックアウトされたコミットがない fatal: コマンドプロンプトで "git add ." を入力するとファイルの追加に失敗する
-
[解決済み】bcrypt LoadError: Cannot load such file
-
[解決済み] Ruby/Rails の「フック」とは何ですか?
-
[解決済み] ウェブパッカーがアプリケーションを見つけ出せない
-
[解決済み] 該当するルートがない [GET] "demo/hello"
-
[解決済み] Ruby on rails "No route matches" (ルートに一致するものがない)。
-
[解決済み] Paramが無いか、値が空である。ParameterMissing in ResultsController#update
-
[解決済み] Rubyのクラスで未初期化の定数エラーが発生する
-
[解決済み] RVMでRubyのデフォルトバージョンを設定するには?
-
[解決済み] Rspec が私のモデルクラスを認識しない。初期化されていない定数エラー