2010-11-30 4 views
1

Ich bin sehr neu in der Rails-Anwendung. Ich brauche den Spaltennamen einer Tabelle zu ändern .. SO ich durch einige Websites durchsucht und dein erwähnte ich dachte, die Migrationsdatei zu schreiben ..Schreiben einer Rake-Task zum Umbenennen eines Feldnamens in einer Tabelle in einer Rails-Anwendung

class RenameNameToFirstnameInUsers < ActiveRecord::Migration 
    def self.up 
     rename_column 'users', 'name', 'first_name' 
    end 

    def self.down 
     rename_column 'users', 'first_name', 'name' 
    end 
end 

Wie diese Datei zu speichern und wo ??

application/db//

In migrieren welchem ​​Namen ich diese speichern kann ?? Bis jetzt habe ich viele Dateien gesehen, aber alle haben Präfix von einigen big_number

Und nach dem Speichern dieser, wie kann ich es in meinem lokalen testen?

Antwort

5

der einfachste Weg, dies zu tun ist:

Rails3

rails generate migration RenameNameToFirstnameInUsers

Rails2

script/generate migration RenameNameToFirstnameInUsers

Und dann die erstellte Migrationsdatei bearbeiten und Ihre db normal wandern .

+1

"migrieren Sie Ihre Datenbank als normal" = ausführen "Rake db: migrieren" – buru

+0

Am einfachsten und empfohlen, da Dateiname und Klassenname übereinstimmen müssen, dh Klassenname sollte das Ergebnis von '(Dateiname minus der Migrationsnummer) .classify' sein – Swanand

+0

ich tat in der gleichen Weise, wie Sie sagten, und der Spaltenname änderte sich auch. Aber es blockiert einige der Links in meinen Anwendungen ?? – useranon

Verwandte Themen