From 25ee6490e4e29a69b736ea95a2b198fcc7f98751 Mon Sep 17 00:00:00 2001 From: Miquel Sabaté Solà Date: Fri, 8 Nov 2024 10:00:48 +0100 Subject: Upgrade to Rails 8 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Miquel Sabaté Solà --- ..._name_to_active_storage_blobs.active_storage.rb | 22 ++++++++++++++++++ ...ctive_storage_variant_records.active_storage.rb | 27 ++++++++++++++++++++++ ...active_storage_blobs_checksum.active_storage.rb | 8 +++++++ 3 files changed, 57 insertions(+) create mode 100644 db/migrate/20241108085225_add_service_name_to_active_storage_blobs.active_storage.rb create mode 100644 db/migrate/20241108085226_create_active_storage_variant_records.active_storage.rb create mode 100644 db/migrate/20241108085227_remove_not_null_on_active_storage_blobs_checksum.active_storage.rb (limited to 'db/migrate') diff --git a/db/migrate/20241108085225_add_service_name_to_active_storage_blobs.active_storage.rb b/db/migrate/20241108085225_add_service_name_to_active_storage_blobs.active_storage.rb new file mode 100644 index 0000000..a15c6ce --- /dev/null +++ b/db/migrate/20241108085225_add_service_name_to_active_storage_blobs.active_storage.rb @@ -0,0 +1,22 @@ +# This migration comes from active_storage (originally 20190112182829) +class AddServiceNameToActiveStorageBlobs < ActiveRecord::Migration[6.0] + def up + return unless table_exists?(:active_storage_blobs) + + 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 + + def down + return unless table_exists?(:active_storage_blobs) + + remove_column :active_storage_blobs, :service_name + end +end diff --git a/db/migrate/20241108085226_create_active_storage_variant_records.active_storage.rb b/db/migrate/20241108085226_create_active_storage_variant_records.active_storage.rb new file mode 100644 index 0000000..94ac83a --- /dev/null +++ b/db/migrate/20241108085226_create_active_storage_variant_records.active_storage.rb @@ -0,0 +1,27 @@ +# This migration comes from active_storage (originally 20191206030411) +class CreateActiveStorageVariantRecords < ActiveRecord::Migration[6.0] + def change + return unless table_exists?(:active_storage_blobs) + + # Use Active Record's configured type for primary key + create_table :active_storage_variant_records, id: primary_key_type, if_not_exists: true do |t| + t.belongs_to :blob, null: false, index: false, type: blobs_primary_key_type + 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 + + private + def primary_key_type + config = Rails.configuration.generators + config.options[config.orm][:primary_key_type] || :primary_key + end + + def blobs_primary_key_type + pkey_name = connection.primary_key(:active_storage_blobs) + pkey_column = connection.columns(:active_storage_blobs).find { |c| c.name == pkey_name } + pkey_column.bigint? ? :bigint : pkey_column.type + end +end diff --git a/db/migrate/20241108085227_remove_not_null_on_active_storage_blobs_checksum.active_storage.rb b/db/migrate/20241108085227_remove_not_null_on_active_storage_blobs_checksum.active_storage.rb new file mode 100644 index 0000000..93c8b85 --- /dev/null +++ b/db/migrate/20241108085227_remove_not_null_on_active_storage_blobs_checksum.active_storage.rb @@ -0,0 +1,8 @@ +# This migration comes from active_storage (originally 20211119233751) +class RemoveNotNullOnActiveStorageBlobsChecksum < ActiveRecord::Migration[6.0] + def change + return unless table_exists?(:active_storage_blobs) + + change_column_null(:active_storage_blobs, :checksum, true) + end +end -- cgit v1.2.3