18 lines
696 B
Ruby
18 lines
696 B
Ruby
# frozen_string_literal: true
|
|
|
|
class AddBulkInviteLinkToInvites < ActiveRecord::Migration[6.0]
|
|
def change
|
|
add_column :invites, :max_redemptions_allowed, :integer, null: false, default: 1
|
|
add_column :invites, :redemption_count, :integer, null: false, default: 0
|
|
add_column :invites, :expires_at, :datetime, null: true
|
|
|
|
invite_expiry_days = DB.query_single("SELECT value FROM site_settings WHERE name = 'invite_expiry_days'").first
|
|
invite_expiry_days = 30 if invite_expiry_days.blank?
|
|
execute <<~SQL
|
|
UPDATE invites SET expires_at = updated_at + INTERVAL '#{invite_expiry_days} days'
|
|
SQL
|
|
|
|
change_column :invites, :expires_at, :datetime, null: false
|
|
end
|
|
end
|