module Dynamoid::Tasks::Database

Public Instance Methods

create_tables() click to toggle source

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

# File lib/dynamoid/tasks/database.rb, line 11
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.reject { |m| 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(sync: true)
      results[:created] << model.table_name
    end
  end
  results
end
ping() click to toggle source

Is the DynamoDB reachable?

# File lib/dynamoid/tasks/database.rb, line 26
def ping
  Dynamoid.adapter.list_tables
  true
end