Class: CreateDashCreatorDashboardObjects

Inherits:
Object
  • Object
show all
Defined in:
lib/generators/dash_creator/install/templates/create_dash_creator_dashboard_objects.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.downObject



33
34
35
# File 'lib/generators/dash_creator/install/templates/create_dash_creator_dashboard_objects.rb', line 33

def self.down
  drop_table :dash_creator_dashboard_objects
end

Instance Method Details

#changeObject



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/generators/dash_creator/install/templates/create_dash_creator_dashboard_objects.rb', line 2

def change
  if extension_enabled?('pgcrypto') && DashCreator.use_pgcrypto
    create_table :dash_creator_dashboard_objects, id: :uuid, default: 'gen_random_uuid()' do |t|
      t.string :name
      t.string :code
      t.string :related_model

      t.jsonb :options, default: {}

      t.timestamps
    end

  else
    create_table :dash_creator_dashboard_objects do |t|
      t.string :name
      t.string :code
      t.string :related_model

      t.jsonb :options, default: {}

      t.timestamps
    end
  end

  add_index :dash_creator_dashboard_objects, :code, unique: true

  DashCreator::DashboardObject.create(name: 'Chart', code: 'chart', related_model: 'DashCreator::Chart', options: {})
  DashCreator::DashboardObject.create(name: 'Stat', code: 'stat', related_model: 'DashCreator::Filter', options: {})
  DashCreator::DashboardObject.create(name: 'Table', code: 'table', related_model: 'DashCreator::Filter', options: {})
end