2016-07-22 9 views
1

Ich füge eine Spalte in meine SQLite mit dem falschen Typ "stringimage" ein.Wie kann ich den Spaltentyp auf Schienen ändern? 5

enter image description here

Wie kann ich den Spaltentyp Zeichenfolge ändern?

Ich versuchte change_column :users, :uid, :string

und

def up 
    change_table :users do |t| 
    t.change :uid, :stringimage 
    end 
end 
def down 
    change_table :users do |t| 
    t.change :uid, :string 
    end 
end 

aber es funktioniert nicht funktioniert. Ich habe versucht, viele Dinge, aber nichts davon funktioniert, vielleicht, weil ich Schienen 5.

+0

Nach dem Wechsel lief Sie Migration für das gleiche? –

+0

Haben Sie in Betracht ziehen, 'Rake db laufen: migrieren' –

+0

ja ich runned' Rake db: migrieren' –

Antwort

1

Sie benötigen folgenden zwei Definitionen in der Migration schreiben:

def up 
    change_column :my_table, :my_column, :string 
end 

def down 
    change_column :my_table, :my_column, :stringimage 
end 
+0

Ich habe diesen Fehler: '== 20160722050406 Chan geUid: migrieren - change_column (: users,: uid,: string) Schienen abgebrochen! Standarderror: ein Fehler aufgetreten ist, diese und alle später abgebrochen Migrationen: undefinierte Verfahren 'to_sym 'für nil: NilClass C: /Sites/AirProject/db/migrate/20160722050406_change_uid.rb: 3: in' up' ist/rails: 4: in 'require‘ ist/Schienen: 4: in '

' NoMethodError: undefined Verfahren' to_sym' für nil: NilClass C: /Sites/AirProject/db/migrate/20160722050406_change_uid.rb: 3: in 'oben' bin/rails: 4: in 'require ' bin/rails: 4: in'
' ' ' –

+1

Zuerst müssen Sie 'rake db: rollback' ausführen und dann' rake db: migrieren " –

+0

Ich habe das:' == 20160722050406 Cha ngeUid: migriert ======== == 20160722050406 ChangeUid: migriert (0.0000s) '... aber an meiner Spalte wurde nichts geändert –

0

Sie mich verwenden, können diese versuchen:

change_column(table_name, column_name, type, options): Ändert die Spalte auf eine andere Art die gleichen Parameter wie add_column verwenden.

+0

Ich habe dies: 'Schienen abgebrochen! Standarderror: ein Fehler aufgetreten ist, diese und alle später abgebrochen Migrationen: undefinierte Verfahren 'to_sym 'für nil: NilClass C: /Sites/AirProject/db/migrate/20160722050406_change_uid.rb: 3: in' Änderung' ist/rails: 4: in 'require‘ ist/Schienen: 4: in '

' NoMethodError: undefined Verfahren' to_sym' für nil: NilClass C: /Sites/AirProject/db/migrate/20160722050406_change_uid.rb: 3: in 'change ' sind/Schienen: 4: in' require' ist/Schienen: 4: in '
' Aufgaben: TOP => db: wandern (Voll Spur Siehe durch Aufgabe mit --trace läuft)' –