@wakairo Rails 7.1への移行におけるActive Storageのmigration bin/rails app:updateコマンドを実行すると以下の3つのファイルがdb/migrate/に作成されますが、 Active Storageをまだ使用したことがないアプリケーションでは、 これら3つのファイルは単純に削除してしまって良いはずです。 xxx_add_service_name_to_active_storage_blobs.active_storage.rb xxx_create_active_storage_variant_records.active_storage.rb xxx_remove_not_null_on_active_storage_blobs_checksum.active_storage.rb より正確に言うと、データベースにactive_storage_blobsテーブルが存在していない場合は、 これら3つのファイルは単純に削除してしまって良いはずです。 その理由として、これら3つのファイルはデータベースのactive_storage_blobsテーブルに対して影響を与えるものであり、 table_exists?(:active_storage_blobs)がfalseを返すと何もせずにreturnする処理が3つのファイル全てに記述されているからです。 ご自身のRailsアプリケーションのデータベースにactive_storage_blobsテーブルが存在するかの確認はbin/rails consoleを実行して、 以下のようにコマンドを実行することで行えます。 結果がfalseであればactive_storage_blobsテーブルは存在していない、つまり前述の3つのファイルは削除で大丈夫のはずです。 irb(main):002> ActiveRecord::Base.connection.table_exists? :active_storage_blobs => false ちなみに、データベースにあるテーブルの一覧を見たい場合にはbin/rails consoleで ActiveRecord::Base.connection.tablesを叩くことでテーブルの一覧を確認できます。
Rails 7.1への移行におけるActive Storageのmigration
bin/rails app:update
コマンドを実行すると以下の3つのファイルがdb/migrate/
に作成されますが、Active Storageをまだ使用したことがないアプリケーションでは、 これら3つのファイルは単純に削除してしまって良いはずです。
より正確に言うと、データベースにactive_storage_blobsテーブルが存在していない場合は、 これら3つのファイルは単純に削除してしまって良いはずです。 その理由として、これら3つのファイルはデータベースのactive_storage_blobsテーブルに対して影響を与えるものであり、
table_exists?(:active_storage_blobs)
がfalseを返すと何もせずにreturnする処理が3つのファイル全てに記述されているからです。ご自身のRailsアプリケーションのデータベースにactive_storage_blobsテーブルが存在するかの確認は
bin/rails console
を実行して、 以下のようにコマンドを実行することで行えます。 結果がfalse
であればactive_storage_blobsテーブルは存在していない、つまり前述の3つのファイルは削除で大丈夫のはずです。ちなみに、データベースにあるテーブルの一覧を見たい場合には
bin/rails console
でActiveRecord::Base.connection.tables
を叩くことでテーブルの一覧を確認できます。