Sha256: c87aa760fa52d6b2b211969c0cdf506c8ec1460a3b11de90c1b4690b720a1b44

Contents?: true

Size: 1.08 KB

Versions: 6

Compression:

Stored size: 1.08 KB

Contents

# This migration comes from alchemy (originally 20160108174834)
class AddTimebasedPublishingColumnsToPages < ActiveRecord::Migration[4.2]
  def up
    add_column :alchemy_pages, :public_on, :datetime
    add_column :alchemy_pages, :public_until, :datetime
    add_index :alchemy_pages, [:public_on, :public_until]

    update <<-SQL.strip_heredoc
      UPDATE alchemy_pages
      SET public_on = published_at
      WHERE published_at IS NOT NULL AND public=#{ActiveRecord::Base.connection.quoted_true}
    SQL

    remove_column :alchemy_pages, :public
  end

  def down
    add_column :alchemy_pages, :public, :boolean, default: false
    current_time = ActiveRecord::Base.connection.quoted_date(Time.current)

    update <<-SQL.strip_heredoc
      UPDATE alchemy_pages
      SET public = (
        public_on IS NOT NULL AND public_on < '#{current_time}'
        AND (public_until > '#{current_time}' OR public_until IS NULL)
      )
    SQL

    remove_index :alchemy_pages, [:public_on, :public_until]
    remove_column :alchemy_pages, :public_on
    remove_column :alchemy_pages, :public_until
  end
end

Version data entries

6 entries across 6 versions & 3 rubygems

Version Path
alchemy-devise-4.2.0 spec/dummy/db/migrate/20160614164602_add_timebased_publishing_columns_to_pages.alchemy.rb
alchemy-devise-4.1.0 spec/dummy/db/migrate/20160614164602_add_timebased_publishing_columns_to_pages.alchemy.rb
alchemy-solidus-2.2.0 spec/dummy/db/migrate/20180910094590_add_timebased_publishing_columns_to_pages.alchemy.rb
alchemy-devise-4.1.0.beta spec/dummy/db/migrate/20160614164602_add_timebased_publishing_columns_to_pages.alchemy.rb
alchemy_kono_mailup-0.0.1 spec/dummy/db/migrate/20171124145468_add_timebased_publishing_columns_to_pages.alchemy.rb
alchemy-devise-4.0.0 spec/dummy/db/migrate/20160614164602_add_timebased_publishing_columns_to_pages.alchemy.rb