DEV: Change upload verified column to be integer (#10643)

Per review https://review.discourse.org/t/dev-add-verified-to-uploads-and-fill-in-s3-inventory-10406/14180

Change the verified column for Upload to a verified_status integer column, to avoid having NULL as a weird implicit status.
This commit is contained in:
Martin Brennan
2020-09-17 13:35:29 +10:00
committed by GitHub
parent e313aa5a6e
commit 80268357e7
6 changed files with 87 additions and 21 deletions

View File

@@ -0,0 +1,21 @@
# frozen_string_literal: true
class ChangeUploadsVerifiedToInteger < ActiveRecord::Migration[6.0]
def up
add_column :uploads, :verification_status, :integer, null: false, default: 1
Migration::ColumnDropper.mark_readonly(:uploads, :verified)
DB.exec(
<<~SQL
UPDATE uploads SET verification_status = CASE WHEN
verified THEN 2
WHEN NOT verified THEN 3
END
SQL
)
end
def down
remove_column :uploads, :verification_status
end
end

View File

@@ -0,0 +1,16 @@
# frozen_string_literal: true
class AddIndexToUploadsVerificationStatus < ActiveRecord::Migration[6.0]
disable_ddl_transaction!
def up
execute <<~SQL
CREATE INDEX CONCURRENTLY IF NOT EXISTS
idx_uploads_on_verification_status ON uploads USING btree (verification_status)
SQL
end
def down
execute "DROP INDEX IF EXISTS idx_uploads_on_verification_status"
end
end