diff options
Diffstat (limited to 'db/post_migrate/20210610141711_disable_expiration_policies_linked_to_no_container_images.rb')
-rw-r--r-- | db/post_migrate/20210610141711_disable_expiration_policies_linked_to_no_container_images.rb | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/db/post_migrate/20210610141711_disable_expiration_policies_linked_to_no_container_images.rb b/db/post_migrate/20210610141711_disable_expiration_policies_linked_to_no_container_images.rb deleted file mode 100644 index f4827c0bbc0..00000000000 --- a/db/post_migrate/20210610141711_disable_expiration_policies_linked_to_no_container_images.rb +++ /dev/null @@ -1,32 +0,0 @@ -# frozen_string_literal: true - -class DisableExpirationPoliciesLinkedToNoContainerImages < ActiveRecord::Migration[6.1] - disable_ddl_transaction! - - BATCH_SIZE = 1000 - - class ContainerExpirationPolicy < ActiveRecord::Base - include ::EachBatch - self.table_name = 'container_expiration_policies' - end - - def up - ContainerExpirationPolicy.where(enabled: true).each_batch(of: BATCH_SIZE) do |batch, _| - sql = <<-SQL - WITH batched_relation AS #{Gitlab::Database::AsWithMaterialized.materialized_if_supported} (#{batch.limit(BATCH_SIZE).to_sql}) - UPDATE container_expiration_policies - SET enabled = FALSE - FROM batched_relation - WHERE container_expiration_policies.project_id = batched_relation.project_id - AND NOT EXISTS (SELECT 1 FROM "container_repositories" WHERE container_repositories.project_id = container_expiration_policies.project_id) - SQL - execute(sql) - end - end - - def down - # no-op - - # we can't accuretaly know which policies were previously enabled during `#up` - end -end |