ALTER TABLE lhm Migration löscht vorhandene Werte

8
%Vor%

Was passiert ist:

  1. Rails-4.0: rake db: migrate
  2. Feld wurde erfolgreich umbenannt.
  3. Alle vorhandenen Feldwerte werden gelöscht, warum? Irgendwelche Ideen?

Bearbeiten:

  • alter Datentyp war float(11)
  • MYSQL 5.6
SG 86 14.03.2016, 10:22
quelle

3 Antworten

3

Ich schlage vor, dass Sie die Methoden verwenden, die Ihnen von LHM zur Verfügung gestellt wurden und die denen von Rails ähneln (wenn Sie LHM verwenden wollen):

%Vor%

Wenn Sie sich die Methodendefinitionen ansehen, sehen Sie, dass LHM eine MODIFY ausführt, wo Sie eine CHANGE für change_column und eine CHANGE für rename_column machen.

Offizielle Dokumente:

Änderungsspalte: Ссылка

rename_column: Ссылка

    
omarvelous 23.03.2016 16:16
quelle
0

Können Sie eine geradlinige Schienenmigration wie folgt durchführen:

%Vor%

Ich habe noch nie lhm benutzt, also ist das vielleicht nicht möglich?

Sie brauchen auch nicht "FLOAT DEFAULT NULL" in Ihrer aktuellen SQL-Anweisung, wenn sie bereits in der Datenbank angegeben ist.

Ich hoffe, das hilft.

    
rii 15.03.2016 17:18
quelle
0

Benennen Sie 1st_name in temporary_name um, und benennen Sie dann 2nd_name in 1st_name um und benennen Sie dann von temporary_name in 2nd_name

um     
Adam Silenko 22.03.2016 16:28
quelle