Ist es möglich, ein Feld, das eine Zeichenfolge ist, in eine ganze Zahl zu ändern, ohne die bereits eingegebenen Daten zu löschen?Rails Migration zum Konvertieren von String in Integer?
Die aktuelle DB-Struktur für die Tabelle in Frage:
create_table :people do |t|
t.string :company_id
dies möglich unter Verwendung von Migrationen ist?
Ich denke, vielleicht in der Migration das alte Feld fallen lassen, erstellen Sie eine neue, die eine ganze Zahl ist - aber ich mache mir Sorgen, dies wird alle bereits eingegebenen Daten löschen.
Danke,
Danny
Dank für die Verbesserung der Formatierung, jigfox – Zaki
Große, Vielen Dank. Ich nehme an, dass ich im ersten Beispiel nicht den aktuellen Typ angeben muss. – dannymcc
Der erste Ansatz erzeugte Fehler für mich, als ich den Code nach Heroku schob. PG :: DatatypeMismatch: FEHLER: Die Spalte "company_id" kann nicht automatisch in den Typ Integer umgewandelt werden. HINWEIS: Geben Sie einen USING-Ausdruck an, um die Konvertierung durchzuführen. : ALTER TABLE "Mitbearbeiter" ALTER COLUMN "company_id" TYPE Ganzzahl Rake abgebrochen! Standarderror: ein Fehler aufgetreten ist, dieses und alle späteren Migrationen abgebrochen: PG :: DatatypeMismatch: ERROR: Spalte „company_id“ kann nicht automatisch gegossen werden integer Hinweis zu geben: Geben Sie eine unter Verwendung von Expressions die Umwandlung durchzuführen. – Evolve