Sha256: 437e1fc3d61356560b20b0af9bd51ef4606b4276fc8f928bed4f695d9a22cbcd

Contents?: true

Size: 1.24 KB

Versions: 3

Compression:

Stored size: 1.24 KB

Contents

class CreateReportableCache < ActiveRecord::Migration

  def self.up
    create_table :reportable_cache, :force => true do |t|
      t.string   :model_class_name,       :null => false, :limit => 100
      t.string   :report_name,      :null => false, :limit => 100
      t.string   :grouping,         :null => false, :limit => 10
      t.string   :aggregation,      :null => false, :limit => 10
      t.string   :conditions,       :null => false, :limit => 100
      t.float    :value,            :null => false,                :default => 0
      t.datetime :reporting_period, :null => false

      t.timestamps
    end

    add_index :reportable_cache, [
      :model_class_name,
      :report_name,
      :grouping,
      :aggregation,
      :conditions
    ], :name => :name_model_grouping_agregation
    add_index :reportable_cache, [
      :model_class_name,
      :report_name,
      :grouping,
      :aggregation,
      :conditions,
      :reporting_period
    ], :unique => true, :name => :name_model_grouping_aggregation_period
  end

  def self.down
    remove_index :reportable_cache, :name => :name_model_grouping_agregation
    remove_index :reportable_cache, :name => :name_model_grouping_aggregation_period

    drop_table :reportable_cache
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
reportable-1.4.2 lib/generators/reportable_migration/templates/migration.rb
reportable-1.4.1 lib/generators/reportable_migration/templates/migration.rb
reportable-1.4.0 lib/generators/reportable_migration/templates/migration.rb