Class: ASIR::Coder::ActiveRecord::MessageModel::Migration

Inherits:
ActiveRecord::Migration
  • Object
show all
Defined in:
lib/asir/coder/active_record/message_model.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.class_table_nameObject



11
12
13
# File 'lib/asir/coder/active_record/message_model.rb', line 11

def self.class_table_name
  :asir_classes
end

.table_nameObject



8
9
10
# File 'lib/asir/coder/active_record/message_model.rb', line 8

def self.table_name
  :asir_messages
end

Instance Method Details

#changeObject



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/asir/coder/active_record/message_model.rb', line 14

def change
  create_table tn = self.class.class_table_name do | t |
    t.integer :external_id
    t.string  :class_name
  end
  add_index tn, :class_name, :unique => true

  create_table tn = self.class.table_name do | t |
    t.integer :external_id
    t.string  :message_identifier, :null => false
    t.string  :receiver_class,     :null => false # NORMALIZE?
    t.string  :message_type,       :null => false, :size => 1
    t.string  :selector # NORMALIZE?
    t.binary  :additional_data
    t.text    :description # NORMALIZE?
    t.float   :delay
    t.integer :one_way
    t.binary  :payload
    t.timestamps
  end
  add_index tn, :external_id
  add_index tn, :message_identifier, :unique => true
  add_index tn, [ :receiver_class, :message_type ]
  add_index tn, :selector
  add_index tn, :description
  add_index tn, :created_at
end