38 lines
1.0 KiB
Ruby
38 lines
1.0 KiB
Ruby
class CreateEvents < ActiveRecord::Migration[8.1]
|
|
def change
|
|
create_table :events do |t|
|
|
t.references :project, null: false, foreign_key: true
|
|
t.string :event_id, null: false
|
|
t.datetime :timestamp, null: false
|
|
t.string :action
|
|
t.string :ip_address
|
|
t.text :user_agent
|
|
t.string :request_method
|
|
t.string :request_path
|
|
t.string :request_url
|
|
t.string :request_protocol
|
|
t.integer :response_status
|
|
t.integer :response_time_ms
|
|
t.string :rule_matched
|
|
t.text :blocked_reason
|
|
t.string :server_name
|
|
t.string :environment
|
|
t.string :country_code
|
|
t.string :city
|
|
t.string :agent_version
|
|
t.string :agent_name
|
|
t.json :payload
|
|
|
|
t.timestamps
|
|
end
|
|
|
|
add_index :events, :event_id, unique: true
|
|
add_index :events, :timestamp
|
|
add_index :events, [:project_id, :timestamp]
|
|
add_index :events, [:project_id, :action]
|
|
add_index :events, [:project_id, :ip_address]
|
|
add_index :events, :ip_address
|
|
add_index :events, :action
|
|
end
|
|
end
|