Class: CreatePermitsPermissions

Inherits:
Object
  • Object
show all
Defined in:
lib/generators/permits/install/templates/create_permits_permissions.rb

Instance Method Summary collapse

Instance Method Details

#changeObject



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/generators/permits/install/templates/create_permits_permissions.rb', line 2

def change
  create_table :permits_permissions, id: :uuid do |t|
    t.references :owner, polymorphic: true, null: false, type: :uuid
    t.references :resource, polymorphic: true, null: false, type: :uuid
    t.string :permits, null: false

    t.datetime :started_at
    t.datetime :ended_at
    t.timestamps
  end

  add_index :permits_permissions, [:owner_id, :owner_type]
  add_index :permits_permissions, [:resource_id, :resource_type]
  add_index :permits_permissions, [:owner_type, :owner_id, :resource_type, :resource_id]
  add_index :permits_permissions, [:owner_type, :owner_id, :resource_type, :resource_id, :permits]
  add_index :permits_permissions, :started_at
  add_index :permits_permissions, :ended_at
  add_index :permits_permissions, :permits
end