2016-04-15 15 views
2

Einer meiner Modelltabellen (Ereignis) wird in der schema.rb Datei und an seiner Stelle nicht zeigt, da diese Meldung -Rails Migration Fehler - Tabelle zeigt, die nicht in schema.rb

# Could not dump table "events" because of following NoMethodError 
# undefined method `[]' for nil:NilClass 

Die letzte Migration das war erfolgreich war wie folgt -

class RemoveOrganiserDescriptionFromEvents < ActiveRecord::Migration 
    def change 
    remove_column :events, :organiser_description, :text 
    end 
end 

auf das sich diese geändert wurde -

class AddOrganiserProfileToEvents < ActiveRecord::Migration 
    def change 
    add_column :events, :organiser_profile, :url 
    end 
end 

ich bin mir ziemlich sicher, dass es weg ist ‚Wo nky 'weil das Attribut keine URL sein sollte, sollte es eine Zeichenkette sein. Wenn ich versuche, andere Migrationen durchzuführen, funktioniert es jedoch nicht. Ich erhalte die folgenden Fehler in meinem Terminal, wenn ich versuche und eine Harke db ausführen: wandern -

nicht definierte Methode to_sym' for nil:NilClass Did you mean? to_s/Users/Michael/MWCoding/MamaKnows/mama_knows/db/migrate/20160415123947_remove_events_organiser_profile.rb:3:in change ‚ NoMethodError: nicht definierte Methode` to_sym‘für nil: NilClass Meinen Sie? to_s

In meinen Migrationsdateien war dies meine Code -

def change 
    change_column :events, :organiser_profile :string 

end 

def up 
    change_column :events, :organiser_profile, :string 
end 

def down 
    change_column :events, :organiser_profile, :url 
end 

Ich habe auch die Säule vollständig in einem Versuch zu entfernen versuchte, es mit der richtigen Version ersetzen Sie dann aber ohne Erfolg. Alle bevorstehende Hilfe wäre willkommen.

+0

'remove_column: events,: organiser_description' - ** RemoveOrganiserDescriptionFromEvents ** sollte so aussehen. Versuchen Sie, dies zu ändern – dp7

+0

Warum haben Sie Veränderung, auf und ab in der Migration? –

+0

Ich sah es auf einer vorherigen SO Q & A. –

Antwort

0
add_column :events, :organiser_profile, :url 

macht keinen Sinn. Siehe die Dokumentation für add_column Methode here. Die Parameter sind Tabelle, Spaltenname und Spaltentyp. :url ist kein gültiger Typ. Gültige Typen sind aufgelistet here

+0

Die Migration ging durch (siehe oben), aber das ist offensichtlich, was es gebrochen hat. Frage ist, wie bekomme ich es zurück? –

+0

Entfernen Sie die problematische Migration.rb-Dateien und dann "Rake db: drop" und dann "Rake db: migrieren" – Kalman

+0

Also, ist es das bestimmte Migrationsdatei, die ich loswerden muss? Lösche ich es einfach aus meiner Datei oder lösche ich es in der Befehlszeile? –

1

konnte ich dieses Problem beheben, indem Sie die Migrationen fallen und wieder wandernde:

rake db: drop: alle

dann

rake db: migrate