Fügen Sie die "auto increment" zurück zum primary key-Spalte in Rails
Versehentlich entfernte ich den autoincrement-option aus dem id-Feld meiner Tabelle. Kann mir jemand sagen, wie ich kann, legen Sie die option autoincrement zurück durch migration?
InformationsquelleAutor der Frage | 2009-03-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen:
oder
Bestimmte Rails-Datenbank-Adaptern lassen Sie nicht nennen
change_column
auf den Primärschlüssel. Wenn das der Fall ist, dann können Sie immer rufenexecute
zur Durchführung der änderung mittels SQL direkt:MySQL:
PostgreSQL (Methode 1):
PostgreSQL (Methode 2):
Wenn Sie nicht möchten, zu verwenden
bigint
/bigserial
(64-bit), verwenden Sieint(11)
/integer
/serial
statt.InformationsquelleAutor der Antwort vladr
Ich habe nicht überprüfen Sie die anderen Versionen, aber auf den Schienen 5, können Sie einfach legen Sie die
auto_increment
option:Oder wenn Sie möchten, eine bigint:
InformationsquelleAutor der Antwort drewish
Des Postgres-code funktioniert nicht, es ist unmöglich zu verwenden, die serielle oder die bigserial in einer ALTER TABLE-Anweisung. Korrekte SQL für PostgreSQL ist
InformationsquelleAutor der Antwort Leonid Shevtsov