Ich weiß, dass es eine rename_column
Transformation gibt, aber es scheint, dass rename_index
nicht existiert.Ist es möglich, einen Index mithilfe einer Schienenmigration umzubenennen?
Muss ich stattdessen remove_index
und add_index
verwenden?
Eine Situation, in der Sie 'execute' verwenden müssen, ist, wenn Rails einen Index hinzugefügt und entsprechend dem Tabellennamen benannt hat, dann haben Sie die Tabelle umbenannt. Zum Beispiel habe ich 'users_roles' erstellt und eine Migration durchgeführt, um einen Index hinzuzufügen, den Rails' index_users_roles_on_role_id' benannt hat. Dann erkannte ich, dass ich die Tabelle in 'roles_users' umbenennen musste. Später, als ich versuchte, den Index zu entfernen, suchte Rails nach einem namens 'index_roles_users_on_role_id'. Also musste ich DROP INDEX index_users_roles_on_role_id ON roles_users "' in meiner Migration ausführen. (Dies ist für MySQL.) –