diff options
author | Stan Hu <stanhu@gmail.com> | 2017-09-12 22:38:07 +0000 |
---|---|---|
committer | Stan Hu <stanhu@gmail.com> | 2017-09-12 22:38:07 +0000 |
commit | 373ff978dfb6898ee5e1d4d6355313c349a60a96 (patch) | |
tree | 344826c5e4c3d4660396c36ecba54a7bf63712a6 | |
parent | 859ba07e7a52adfd3a501019a88ee02383707aa9 (diff) | |
parent | faefeac880a634679db0dc2a74cc9ff938cf9713 (diff) | |
download | gitlab-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.rb | 57 |
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 |