Module: Dynamoid::Tasks::Database

Extended by:
Database
Included in:
Database
Defined in:
lib/dynamoid/tasks/database.rb

Instance Method Summary collapse

Instance Method Details

#create_tablesObject

Create any new tables for the models. Existing tables are not modified.



8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/dynamoid/tasks/database.rb', line 8

def create_tables
  results = { created: [], existing: [] }
  # We can't quite rely on Dynamoid.included_models alone, we need to select only viable models
  Dynamoid.included_models.select{ |m| not m.base_class.try(:name).blank? }.uniq(&:table_name).each do |model|
    if Dynamoid.adapter.list_tables.include? model.table_name
      results[:existing] << model.table_name
    else
      model.create_table
      results[:created] << model.table_name
    end
  end
  results
end

#pingObject

Is the DynamoDB reachable?



23
24
25
26
# File 'lib/dynamoid/tasks/database.rb', line 23

def ping
  Dynamoid.adapter.list_tables
  true
end