diff options
Diffstat (limited to 'db/post_migrate/20200506154421_migrate_scim_identities_to_saml_for_new_users.rb')
-rw-r--r-- | db/post_migrate/20200506154421_migrate_scim_identities_to_saml_for_new_users.rb | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/db/post_migrate/20200506154421_migrate_scim_identities_to_saml_for_new_users.rb b/db/post_migrate/20200506154421_migrate_scim_identities_to_saml_for_new_users.rb deleted file mode 100644 index 718e788aad7..00000000000 --- a/db/post_migrate/20200506154421_migrate_scim_identities_to_saml_for_new_users.rb +++ /dev/null @@ -1,37 +0,0 @@ -# frozen_string_literal: true - -class MigrateScimIdentitiesToSamlForNewUsers < ActiveRecord::Migration[6.0] - DOWNTIME = false - - class ScimIdentity < ActiveRecord::Base - self.table_name = 'scim_identities' - - belongs_to :user - - include ::EachBatch - end - - class Identity < ActiveRecord::Base - self.table_name = 'identities' - - belongs_to :saml_provider - end - - def up - users_with_saml_provider = Identity.select('user_id').joins(:saml_provider) - - ScimIdentity.each_batch do |relation| - identity_records = relation - .select("scim_identities.extern_uid, 'group_saml', scim_identities.user_id, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, saml_providers.id") - .joins(:user) - .joins('inner join saml_providers on saml_providers.group_id=scim_identities.group_id') - .where("date_trunc('second',scim_identities.created_at) at time zone 'UTC' = date_trunc('second',users.created_at)") - .where.not(user_id: users_with_saml_provider) - - execute "insert into identities (extern_uid, provider, user_id, created_at, updated_at, saml_provider_id) #{identity_records.to_sql} on conflict do nothing" - end - end - - def down - end -end |