2019-07-30 21:29:24 +00:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2018-03-25 16:15:39 +00:00
|
|
|
# License: AGPL-3.0-or-later WITH Web-Template-Output-Additional-Permission-3.0-or-later
|
2018-03-25 17:30:42 +00:00
|
|
|
class CreateSourceTokens < ActiveRecord::Migration
|
|
|
|
def change
|
|
|
|
create_table :source_tokens, id: false do |t|
|
2019-07-30 21:29:24 +00:00
|
|
|
t.column :token, 'uuid', primary_key: true, null: false
|
2018-03-25 17:30:42 +00:00
|
|
|
t.datetime :expiration
|
2019-07-30 21:29:24 +00:00
|
|
|
t.references :tokenizable, polymorphic: true
|
2018-03-25 17:30:42 +00:00
|
|
|
t.references :event
|
|
|
|
t.integer :max_uses, default: 1
|
|
|
|
t.integer :total_uses, default: 0
|
|
|
|
t.timestamps
|
|
|
|
end
|
|
|
|
|
2019-07-30 21:29:24 +00:00
|
|
|
add_index :source_tokens, :token, unique: true
|
2018-03-25 17:30:42 +00:00
|
|
|
add_index :source_tokens, :expiration
|
2019-07-30 21:29:24 +00:00
|
|
|
add_index :source_tokens, %i[tokenizable_id tokenizable_type]
|
2018-03-25 17:30:42 +00:00
|
|
|
end
|
|
|
|
end
|