我需要從我已經創建的軌道模型中刪除幾列,並在該模型中有一些行條目。 如何做到這一點?任何具有在rails中修改模式細節的鏈接? 我使用軌道版本3.如何從我的Rails模型中刪除列?
47
A
回答
52
要刪除的數據庫列,你必須生成一個遷移:
script/rails g migration RemoveColumns
然後在self.up類方法,刪除您的列:
def self.up
remove_column :table_name, :column_name
end
您可能希望將其添加回到self.down類方法,以及:
def self.down
add_column :table_name, :column_name, :type
end
Rails Guide爲此更詳細。
41
如果你知道你想刪除的列,你可以使用約定:刪除..從...命名你的遷移時。另外,您可以在運行遷移命令時包含列名。
該命令的形式:
rails g migration Remove..From.. col1:type col2:type col3:type
例如:
rails g migration RemoveProjectIDFromProjects project_id:string
生成以下遷移文件:
class RemoveProjectIdFromProjects < ActiveRecord::Migration
def self.up
remove_column :projects, :project_id
end
def self.down
add_column :projects, :project_id, :string
end
end
3
通過命令選擇,因爲Add
,只改變Add
到Remove
:
單柱:
rails g migration RemoveColumnFromTable column:type
多列:
rails g migration RemoveColumn1AndColumn2FromTable column1:type colummn2:type
相關問題
- 1. 從rails中的模型方法中刪除對列的訪問
- 2. ruby on rails:如何在模型數組中刪除逐列值
- 3. 如何從django中刪除模型?
- 4. 如何從模型中刪除模型的索引 - 骨幹
- 5. 從模型中刪除NSObject
- 6. 從模型中刪除實體列 - 自動刪除腳手架?
- 7. 我如何從表中刪除列
- 8. 如何從opencart電子郵件發票中刪除模型列?
- 9. 如何從一個Backbone.Collection刪除模型
- 10. 如何在Rails中重複使用刪除的模型ID號?
- 11. 我如何從我的rails應用程序中刪除favicon
- 12. 如何刪除LoopBack中的模型?
- 13. 如何在rails中刪除和備份模型?
- 14. 如何在Ruby on Rails中刪除模型及其表格?
- 15. 如何覆蓋Rails模型中的列?
- 16. 如何從Rails資源中刪除ControllerName?
- 17. 從領域刪除模型
- 18. 如何從模型中刪除軌道中的特定帖子?
- 19. Rails從ActiveRecord中刪除模型::關係查詢
- 20. Rails 3 Carrierwave如何刪除是模型屬性的文件?
- 21. 通過rails從postgresql中刪除列
- 22. 如何在django中刪除模型?
- 23. 如何從C#中的模型列表中刪除空值元素?
- 24. 如何從MVC3模型中的文件列表中刪除記錄?
- 25. backbone.js從數據庫刪除模型從視圖中刪除
- 26. Rails嵌套模型 - 刪除關聯
- 27. Rails破壞模型不刪除遷移
- 28. Rails 3禁用模型不刪除
- 29. Ruby on Rails遷移/模型刪除
- 30. Rails通過AJAX刪除模型對象
您不必使用Rails指定'腳本/ rails' 3.'軌摹遷移RemoveColumns'就足夠了。 – vonconrad 2010-10-16 12:35:12