Sha256: 32c11a45b1a5d599d8dbb56d8f967b0d9f8538dd98e450872b144de0c943b0c8

Contents?: true

Size: 1.53 KB

Versions: 109

Compression:

Stored size: 1.53 KB

Contents

# frozen_string_literal: true

class MigrateOldResults < ActiveRecord::Migration[5.1]
  class OldResult < ApplicationRecord
    self.table_name = :decidim_results_results
  end

  class Categorization < ApplicationRecord
    self.table_name = :decidim_categorizations
  end

  class Result < ApplicationRecord
    self.table_name = :decidim_accountability_results
  end

  class Feature < ApplicationRecord
    self.table_name = :decidim_features
  end

  class ResourceLink < ApplicationRecord
    self.table_name = :decidim_resource_links
  end

  def up
    return unless ActiveRecord::Base.connection.data_source_exists? :decidim_results_results

    # rubocop:disable Rails/SkipsModelValidations
    OldResult.find_each do |old_result|
      Result.create!(
        id: old_result.id,
        decidim_feature_id: old_result.decidim_feature_id,
        decidim_scope_id: old_result.decidim_scope_id,
        title: old_result.title,
        description: old_result.description
      )

      Categorization.where(
        categorizable_id: old_result.id,
        categorizable_type: "Decidim::Results::Result"
      ).update_all("categorizable_type = 'Decidim::Accountability::Result'")

      ResourceLink.where(
        from_id: old_result.id,
        from_type: "Decidim::Results::Result"
      ).update_all("from_type = 'Decidim::Accountability::Result'")
    end

    Feature.where(manifest_name: "results").update_all("manifest_name = 'accountability'")

    drop_table :decidim_results_results
  end
  # rubocop:enable Rails/SkipsModelValidations
end

Version data entries

109 entries across 109 versions & 1 rubygems

Version Path
decidim-accountability-0.30.0.rc3 db/migrate/20170928073905_migrate_old_results.rb
decidim-accountability-0.30.0.rc2 db/migrate/20170928073905_migrate_old_results.rb
decidim-accountability-0.30.0.rc1 db/migrate/20170928073905_migrate_old_results.rb
decidim-accountability-0.29.2 db/migrate/20170928073905_migrate_old_results.rb
decidim-accountability-0.28.5 db/migrate/20170928073905_migrate_old_results.rb
decidim-accountability-0.29.1 db/migrate/20170928073905_migrate_old_results.rb
decidim-accountability-0.28.4 db/migrate/20170928073905_migrate_old_results.rb
decidim-accountability-0.27.9 db/migrate/20170928073905_migrate_old_results.rb
decidim-accountability-0.29.0 db/migrate/20170928073905_migrate_old_results.rb
decidim-accountability-0.28.3 db/migrate/20170928073905_migrate_old_results.rb
decidim-accountability-0.27.8 db/migrate/20170928073905_migrate_old_results.rb
decidim-accountability-0.29.0.rc4 db/migrate/20170928073905_migrate_old_results.rb
decidim-accountability-0.29.0.rc3 db/migrate/20170928073905_migrate_old_results.rb
decidim-accountability-0.29.0.rc2 db/migrate/20170928073905_migrate_old_results.rb
decidim-accountability-0.29.0.rc1 db/migrate/20170928073905_migrate_old_results.rb
decidim-accountability-0.28.2 db/migrate/20170928073905_migrate_old_results.rb
decidim-accountability-0.27.7 db/migrate/20170928073905_migrate_old_results.rb
decidim-accountability-0.28.1 db/migrate/20170928073905_migrate_old_results.rb
decidim-accountability-0.27.6 db/migrate/20170928073905_migrate_old_results.rb
decidim-accountability-0.26.10 db/migrate/20170928073905_migrate_old_results.rb