Metode ActiveRecord bawaan untuk membuat indeks (add_index
) tidak mendukung fungsi atau fitur lanjutan lainnya. Sebagai gantinya, Anda dapat menggunakan execute
untuk membuat indeks dengan SQL:
execute <<-SQL
CREATE INDEX temporary_events_campaign_tinfoid_date_messagetype
ON temporary_events(templateinfoid, campaign, date(gw_out_time), messagetype);
SQL
Perhatikan bahwa penggunaan execute
dalam migrasi dapat menjadi masalah jika Anda tidak menggunakan format skema SQL (config.active_record.schema_format = :sql
). Untuk informasi lebih lanjut, telusuri schema_format
.