Accepts incoming events and correctly parses them into events. GeoLite2 integration complete"
This commit is contained in:
56
db/migrate/20251103080823_enhance_rules_table_for_sync.rb
Normal file
56
db/migrate/20251103080823_enhance_rules_table_for_sync.rb
Normal file
@@ -0,0 +1,56 @@
|
||||
class EnhanceRulesTableForSync < ActiveRecord::Migration[8.1]
|
||||
def change
|
||||
# Remove rule_sets relationship (we're skipping rule sets for Phase 1)
|
||||
if foreign_key_exists?(:rules, :rule_sets)
|
||||
remove_foreign_key :rules, :rule_sets
|
||||
end
|
||||
|
||||
if column_exists?(:rules, :rule_set_id)
|
||||
remove_column :rules, :rule_set_id
|
||||
end
|
||||
|
||||
change_table :rules do |t|
|
||||
# Add source field to track rule origin
|
||||
unless column_exists?(:rules, :source)
|
||||
t.string :source, limit: 100
|
||||
end
|
||||
|
||||
# Ensure core fields exist with proper types
|
||||
unless column_exists?(:rules, :rule_type)
|
||||
t.string :rule_type, null: false
|
||||
end
|
||||
|
||||
unless column_exists?(:rules, :action)
|
||||
t.string :action, null: false
|
||||
end
|
||||
|
||||
unless column_exists?(:rules, :conditions)
|
||||
t.json :conditions, null: false, default: {}
|
||||
end
|
||||
|
||||
unless column_exists?(:rules, :metadata)
|
||||
t.json :metadata, default: {}
|
||||
end
|
||||
|
||||
unless column_exists?(:rules, :priority)
|
||||
t.integer :priority
|
||||
end
|
||||
|
||||
unless column_exists?(:rules, :expires_at)
|
||||
t.datetime :expires_at
|
||||
end
|
||||
|
||||
unless column_exists?(:rules, :enabled)
|
||||
t.boolean :enabled, default: true, null: false
|
||||
end
|
||||
end
|
||||
|
||||
# Add indexes for efficient sync queries
|
||||
add_index :rules, [:updated_at, :id], if_not_exists: true, name: "idx_rules_sync"
|
||||
add_index :rules, :enabled, if_not_exists: true
|
||||
add_index :rules, :expires_at, if_not_exists: true
|
||||
add_index :rules, :source, if_not_exists: true
|
||||
add_index :rules, :rule_type, if_not_exists: true
|
||||
add_index :rules, [:rule_type, :enabled], if_not_exists: true, name: "idx_rules_type_enabled"
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user