Den indbyggede ActiveRecord-metode til oprettelse af indekser (add_index ) understøtter ikke funktioner eller andre mere avancerede funktioner. I stedet kan du bruge execute for at oprette indekset med SQL:
execute <<-SQL
CREATE INDEX temporary_events_campaign_tinfoid_date_messagetype
ON temporary_events(templateinfoid, campaign, date(gw_out_time), messagetype);
SQL
Bemærk, at brugen af execute i migreringer kan være problematisk, hvis du ikke bruger SQL-skemaformatet (config.active_record.schema_format = :sql ). For mere information, søg efter schema_format
.