2016-03-02 19 views

回答

0

試試這個

在當前的遷移變化

def change 
end 

def self.up 
    add_column :table_name, column_name, type 
end 

那麼在此之後,添加

def self.down 
    remove_column :table_name, column_name 
end 

首先運行

rake db:migrate:down VERSION= version_number 

現在糾正self.up列名和運行

run rake db:migrate:up VERSION= version_number 
+0

非常感謝你@Naiyyar – Daniel

1

你可以寫遷移和重命名列:

class RenameColumn < ActiveRecord::Migration 
    def change 
    rename_column :table_name, :old_column, :new_column 
    end 
end 

,然後在終端執行rake db:migrate

+0

感謝的@Ilya。所以我可以創建一個遷移? – Daniel

+0

是的,執行'rails g migration RenameColumn'來生成遷移文件。 – Ilya

+0

再次感謝@Ilya只有一個問題,如果專欄是這樣的:roupésde-dormir? – Daniel

0

如果你想從控制檯做到這一點。

ActiveRecord::Migration.remove_column :table_name, :old_column_name 
ActiveRecord::Migration.add_column :table_name, :new_column_name, :type 

或者使用rename_column

ActiveRecord::Migration.rename_column :table, :old_column, :new_column 

但它始終是更好地創建遷移。你可以檢查llya關於如何編寫遷移的答案。

相關問題