Updated app Rails 5.2 to 6, the following two migrations were added by the update:
# This migration comes from active_storage (originally 20190112182829)
class AddServiceNameToActiveStorageBlobs < ActiveRecord::Migration[6.0]
def up
unless column_exists?(:active_storage_blobs, :service_name)
add_column :active_storage_blobs, :service_name, :string
if configured_service = ActiveStorage::Blob.service.name
ActiveStorage::Blob.unscoped.update_all(service_name: configured_service)
end
change_column :active_storage_blobs, :service_name, :string, null: false
end
end
end
and
# This migration comes from active_storage (originally 20191206030411)
class CreateActiveStorageVariantRecords < ActiveRecord::Migration[6.0]
def up
create_table :active_storage_variant_records do |t|
t.belongs_to :blob, null: false, index: false
t.string :variation_digest, null: false
t.index %i[ blob_id variation_digest ], name: "index_active_storage_variant_records_uniqueness", unique: true
t.foreign_key :active_storage_blobs, column: :blob_id
end
end
end
trying to run the migrations gives the me error on the title. Haven't found anything online, any ideas on how to fix it?
The active_storage_blobs
table does not exist yet. You need to first run:
rails active_storage:install
This command will add 2 migrations for 2 tables: active_storage_attachments
and active_storage_blobs
.
These new migrations need to be run before the migrations you have above. There is a trick for this, you can consider manually changing the timestamp in the filenames of the 2 migrations you have above to one higher than the 2 new migrations active_storage:install
will create.
Once all of this is sorted, run rake db:migrate
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With