diff --git a/migrations/postgres/010_asset_content_idx.sql b/migrations/postgres/010_asset_content_idx.sql new file mode 100644 index 0000000..c8eaa7f --- /dev/null +++ b/migrations/postgres/010_asset_content_idx.sql @@ -0,0 +1,11 @@ +-- +migrate Up +CREATE INDEX IF NOT EXISTS idx_ip_content_address ON assets USING gin ((content->>'address') gin_trgm_ops) WHERE type = 'IPAddress'; +CREATE INDEX IF NOT EXISTS idx_net_content_cidr ON assets USING gin ((content->>'cidr') gin_trgm_ops) WHERE type = 'Netblock'; +CREATE INDEX IF NOT EXISTS idx_rir_content_name ON assets USING gin ((content->>'name') gin_trgm_ops) WHERE type = 'RIROrg'; +CREATE INDEX IF NOT EXISTS idx_asn_content_num ON assets USING gin ((content->>'number') gin_trgm_ops) WHERE type = 'ASN'; + +-- +migrate Down +DROP INDEX IF EXISTS idx_ip_content_address; +DROP INDEX IF EXISTS idx_net_content_cidr; +DROP INDEX IF EXISTS idx_rir_content_name; +DROP INDEX IF EXISTS idx_asn_content_num; \ No newline at end of file diff --git a/migrations/sqlite3/008_asset_content_idx.sql b/migrations/sqlite3/008_asset_content_idx.sql new file mode 100644 index 0000000..c94bae5 --- /dev/null +++ b/migrations/sqlite3/008_asset_content_idx.sql @@ -0,0 +1,11 @@ +-- +migrate Up +CREATE INDEX idx_ip_content_address ON assets (content->>'address' COLLATE NOCASE) WHERE type = 'IPAddress'; +CREATE INDEX idx_net_content_cidr ON assets (content->>'cidr' COLLATE NOCASE) WHERE type = 'Netblock'; +CREATE INDEX idx_rir_content_name ON assets (content->>'name' COLLATE NOCASE) WHERE type = 'RIROrg'; +CREATE INDEX idx_asn_content_num ON assets (content->>'number' COLLATE NOCASE) WHERE type = 'ASN'; + +-- +migrate Down +DROP INDEX IF EXISTS idx_ip_content_address; +DROP INDEX IF EXISTS idx_net_content_cidr; +DROP INDEX IF EXISTS idx_rir_content_name; +DROP INDEX IF EXISTS idx_asn_content_num; \ No newline at end of file