Il metodo ActiveRecord integrato per la creazione di indici (add_index
) non supporta funzioni o altre funzionalità più avanzate. Invece puoi usare execute
per creare l'indice con SQL:
execute <<-SQL
CREATE INDEX temporary_events_campaign_tinfoid_date_messagetype
ON temporary_events(templateinfoid, campaign, date(gw_out_time), messagetype);
SQL
Nota che l'uso di execute
nelle migrazioni può essere problematico se non si utilizza il formato dello schema SQL (config.active_record.schema_format = :sql
). Per ulteriori informazioni, cerca schema_format
.