Ajouter l'auto incrément de retour à la colonne de la clé primaire dans les Rails
Par erreur j'ai supprimé l'auto-incrémentation de l'option de champ de l'id de ma table. Quelqu'un peut-il me dire comment je peux réinsérez l'option de l'auto-incrémentation de retour par le biais de la migration?
OriginalL'auteur | 2009-03-05
Vous devez vous connecter pour publier un commentaire.
Essayer:
ou
Certains Rails adaptateurs base de données peut ne pas vous permettre d'appeler
change_column
sur la clé primaire. Si c'est le cas, alors vous pouvez toujours faire appel àexecute
pour effectuer le changement à l'aide de SQL directement:MySQL:
PostgreSQL (méthode 1):
PostgreSQL (méthode 2):
Si vous ne souhaitez pas utiliser
bigint
/bigserial
(64-bit), l'utilisationint(11)
/integer
/serial
à la place.Pas de problème. Voir ma mise à jour.
OriginalL'auteur vladr
Je n'ai pas vérifier les autres versions, mais sur des Rails 5, vous pouvez simplement mettre le
auto_increment
option:Ou si vous voulez un bigint:
OriginalL'auteur drewish
Votre Postgres code ne fonctionne pas, il est impossible d'utiliser un numéro de série ou bigserial dans une instruction ALTER TABLE. Corriger SQL de PostgreSQL est
OriginalL'auteur Leonid Shevtsov