Sha256: b3fcba991275747a434ccdeea402904a10e15577a42cc656a2d80aabe988153e

Contents?: true

Size: 847 Bytes

Versions: 6

Compression:

Stored size: 847 Bytes

Contents

# frozen_string_literal: true

class AddWithdrawnAtFieldToProposals < ActiveRecord::Migration[6.1]
  class CustomProposal < Decidim::Proposals::ApplicationRecord
    self.table_name = "decidim_proposals_proposals"
    STATES = { not_answered: 0, evaluating: 10, accepted: 20, rejected: -10, withdrawn: -20 }.freeze
    enum state: STATES, _default: "not_answered"
  end

  def up
    add_column :decidim_proposals_proposals, :withdrawn_at, :datetime

    CustomProposal.withdrawn.find_each do |proposal|
      proposal.withdrawn_at = proposal.updated_at
      proposal.state = :not_answered
      proposal.save!
    end
  end

  def down
    CustomProposal.where.not(withdrawn_at: null).find_each do |proposal|
      proposal.state = :withdrawn
      proposal.save!
    end

    remove_column :decidim_proposals_proposals, :withdrawn_at
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
decidim-proposals-0.30.0.rc1 db/migrate/20240110203500_add_withdrawn_at_field_to_proposals.rb
decidim-proposals-0.29.2 db/migrate/20240110203500_add_withdrawn_at_field_to_proposals.rb
decidim-proposals-0.29.1 db/migrate/20240110203500_add_withdrawn_at_field_to_proposals.rb
decidim-proposals-0.29.0 db/migrate/20240110203500_add_withdrawn_at_field_to_proposals.rb
decidim-proposals-0.29.0.rc4 db/migrate/20240110203500_add_withdrawn_at_field_to_proposals.rb
decidim-proposals-0.29.0.rc3 db/migrate/20240110203500_add_withdrawn_at_field_to_proposals.rb