J'ai essayé le suivantComment puis-je supprimer de manière réversible une clé étrangère sur une table lorsque la colonne ne correspond pas à la table?
remove_foreign_key :users, :asset_types, column: :seek_asset_type_id
mais nous avons eu l'erreur
StandardError: An error has occurred, this and all later migrations canceled:
wrong number of arguments (given 3, expected 1..2)
La documentation indique qu'il utilise les mêmes options que #add_foreign_key
.
La colonne a été créée précédemment avec
add_reference :users, :seek_asset_type, foreign_key: {to_table: :asset_types}
Ceci est la définition:
"fk_rails_4dcaa1c59c" FOREIGN KEY (seek_asset_type_id) REFERENCES asset_types(id)
Mais alors ce n'est pas réversible. Comment sait-il quelle table recréer la clé étrangère? On pourrait penser que la table s'appelle 'seek_asset_types' quand elle s'appelle vraiment' asset_types'. – Chloe
Ok, vous pouvez écraser la méthode UP et Down dans les migrations pour la rendre réversible. – Asmita