class CreateNetworkRanges < ActiveRecord::Migration[8.1] def change create_table :network_ranges do |t| t.binary :ip_address, null: false t.integer :network_prefix, null: false t.integer :ip_version, null: false t.string :company t.integer :asn t.string :asn_org t.boolean :is_datacenter, default: false t.boolean :is_proxy, default: false t.boolean :is_vpn, default: false t.string :ip_api_country t.string :geo2_country t.text :abuser_scores t.text :additional_data t.timestamp :last_api_fetch t.timestamps end # Indexes for common queries add_index :network_ranges, [:ip_address, :network_prefix], name: 'idx_network_ranges_ip_range' add_index :network_ranges, :asn, name: 'idx_network_ranges_asn' add_index :network_ranges, :company, name: 'idx_network_ranges_company' add_index :network_ranges, :ip_api_country, name: 'idx_network_ranges_country' add_index :network_ranges, [:is_datacenter, :is_proxy, :is_vpn], name: 'idx_network_ranges_flags' add_index :network_ranges, :ip_version, name: 'idx_network_ranges_version' end end