Rails 5.1.0 introduit les clés primaires et les clés étrangères bigint.Rails 5.1.0 comment mettre à niveau
Toutes les nouvelles tables auront bigint pk et la création d'une migration de référence vers une ancienne table ne fonctionnera pas puisque l'ancien pk est un int normal. En utilisant change_column _, :id,:bigint
seulement des erreurs avec une clé étrangère pointent vers elle, pour ne pas mentionner tout le travail manuel de trouver toutes les tables et qui a quelle clé qui doit être modifiée.
Comment migrer ma base de données de production toutes mes tables pour utiliser bigint pk et fk?
Bien sûr, puisque c'est la production rails db:drop rails db:setup
n'est pas une option.
En CHANGELOG je trouve que seules les clés primaires sont devenues BIGINT. Pourriez-vous trouver un lien sur les changements de comportement des clés étrangères? – Ilya
J'ai essayé de créer une table référençant à une vieille table et elle échoue parce que l'ancienne table a un petit intpk. La modification de la migration de [5.1] à [5.0] l'a fait fonctionner excepté aucun bigint. Donc ça n'a pas changé mais ça a un impact sur les fk. –