Class: Rake::DataTask::Db

Inherits:
Object
  • Object
show all
Defined in:
lib/data_task/db.rb,
lib/data_task/adapters/support/booleans.rb,
lib/data_task/adapters/support/transactions.rb

Direct Known Subclasses

Postgres, Sqlite

Defined Under Namespace

Modules: NumericBooleans, StandardBooleans, StandardTransactions

Constant Summary collapse

LOG =

This is the base class for SQL-compliant relational databases. It contains utility methods that probably don’t vary across databases, and it shouldn’t be instantiated.

Logger.new(STDOUT)
TABLE_TRACKER_NAME =
'last_operations'
TABLE_TRACKER_COLUMNS =

enumerate case-sensitive, DBMS-specific values that we store in tracking tables this can be overridden in child classes for specific databases

{ 
  :relation_name => { :data_type => :text },
  :relation_type => {
    :data_type => :text,
    :values => {
      :table => 'table', 
      :view => 'view'
    }
  },
  :operation => {
    :data_type => :text,
    :values => {
      :create => 'create', 
      :insert => 'insert',
      :update => 'update',
      :truncate => 'truncate',
      :delete => 'delete'
    }
  },
  :time => { :data_type => :timestamp }
}

Instance Method Summary collapse

Instance Method Details

#operation_valuesObject



46
47
48
# File 'lib/data_task/db.rb', line 46

def operation_values
  table_tracker_columns[:operation][:values]
end

#relation_type_valuesObject



50
51
52
# File 'lib/data_task/db.rb', line 50

def relation_type_values
  table_tracker_columns[:relation_type][:values]
end

#table_tracker_columnsObject



42
43
44
# File 'lib/data_task/db.rb', line 42

def table_tracker_columns
  TABLE_TRACKER_COLUMNS
end