summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2017-09-12 22:38:07 +0000
committerStan Hu <stanhu@gmail.com>2017-09-12 22:38:07 +0000
commit373ff978dfb6898ee5e1d4d6355313c349a60a96 (patch)
tree344826c5e4c3d4660396c36ecba54a7bf63712a6
parent859ba07e7a52adfd3a501019a88ee02383707aa9 (diff)
parentfaefeac880a634679db0dc2a74cc9ff938cf9713 (diff)
downloadgitlab-ce-373ff978dfb6898ee5e1d4d6355313c349a60a96.tar.gz
Merge branch 'rs-remove-bad-foreground-migration' into 'master'
Remove db/migrate/20170828135939_migrate_user_external_mail_data.rb See merge request !14240
-rw-r--r--db/migrate/20170828135939_migrate_user_external_mail_data.rb57
1 files changed, 0 insertions, 57 deletions
diff --git a/db/migrate/20170828135939_migrate_user_external_mail_data.rb b/db/migrate/20170828135939_migrate_user_external_mail_data.rb
deleted file mode 100644
index 592e141b7e6..00000000000
--- a/db/migrate/20170828135939_migrate_user_external_mail_data.rb
+++ /dev/null
@@ -1,57 +0,0 @@
-# See http://doc.gitlab.com/ce/development/migration_style_guide.html
-# for more information on how to write migrations for GitLab.
-
-class MigrateUserExternalMailData < ActiveRecord::Migration
- include Gitlab::Database::MigrationHelpers
-
- DOWNTIME = false
-
- disable_ddl_transaction!
-
- class User < ActiveRecord::Base
- self.table_name = 'users'
-
- include EachBatch
- end
-
- class UserSyncedAttributesMetadata < ActiveRecord::Base
- self.table_name = 'user_synced_attributes_metadata'
-
- include EachBatch
- end
-
- def up
- User.each_batch do |batch|
- start_id, end_id = batch.pluck('MIN(id), MAX(id)').first
-
- execute <<-EOF
- INSERT INTO user_synced_attributes_metadata (user_id, provider, email_synced)
- SELECT id, email_provider, external_email
- FROM users
- WHERE external_email = TRUE
- AND NOT EXISTS (
- SELECT true
- FROM user_synced_attributes_metadata
- WHERE user_id = users.id
- AND provider = users.email_provider
- )
- AND id BETWEEN #{start_id} AND #{end_id}
- EOF
- end
- end
-
- def down
- UserSyncedAttributesMetadata.each_batch do |batch|
- start_id, end_id = batch.pluck('MIN(id), MAX(id)').first
-
- execute <<-EOF
- UPDATE users
- SET users.email_provider = metadata.provider, users.external_email = metadata.email_synced
- FROM user_synced_attributes_metadata as metadata, users
- WHERE metadata.email_synced = TRUE
- AND metadata.user_id = users.id
- AND id BETWEEN #{start_id} AND #{end_id}
- EOF
- end
- end
-end