2012-02-24 28 views
1

我在這個表在rails數據庫中更改列名稱。

class CreateEvents < ActiveRecord::Migration 
    def self.up 
    create_table :events do |t| 
     t.integer :subcategory 
     t.string :event_name 
     t.text :description 
     t.string :location 
     t.date :date 
     t.decimal :price 

      t.timestamps 
      end 
      end 

     def self.down 
     drop_table :events 
     end 
end 

,我想更改子類別subcategory_id。我嘗試這一個,但不工作

Ruby腳本/生成遷移RenameDatabaseColumn,然後我去了這是在DB \遷移的文件和編輯,看起來像這樣

class RenameDatabaseColumn < ActiveRecord::Migration 
def self.up 
rename_column :events, :subgategory, :subgategory_id 
end 

def self.down 
# rename back if you need or do something else or do nothing 
end 
end 

然後我運行命令耙db:migrate把這個列仍然是子類。你能幫我嗎?我正在使用rails 2.0

謝謝

+1

您拼錯了列名嗎?是不是:子類?你寫道:子類別 – mohamagdy 2012-02-24 19:21:20

回答

11

您是否拼錯了列名?是不是:subcategory?你寫了:subgategory

class RenameDatabaseColumn < ActiveRecord::Migration 
    def self.up 
    rename_column :events, :subcategory, :subcategory_id 
    end 

    def self.down 
    # rename back if you need or do something else or do nothing 
    end 
end 
+0

大聲笑現在我看到了我的錯誤。非常感謝!! – 2012-02-24 19:28:54

+0

不客氣=) – mohamagdy 2012-02-24 19:29:44