如何更改column_type并使用ActiveRecord删除当前的数据?
问题描述:
使用Rails 4,我有一个列(page_id
),我需要强制它删除所有当前在数据库列中的数据(它在dev中,所以我现在不关心任何数据库) 。如何更改column_type并使用ActiveRecord删除当前的数据?
我的迁移是这样的:
change_column :sections, :page_id, :uuid
(我是从整数迁移离开页面)
如何使用change_column
并删除所有这就是目前我的数据库中的数据?或者我需要做一个remove_column
,然后add_column
设置正确吗?
答
删除然后添加列似乎是最好的选择。但你可以改变列,然后用类似Section.update_all({:uuid => nil})来更新所有记录。
我认为你可能最适合使用'remove_column'和'add_column'。 'change_column'对改变'column_name'和'column_type'很有用。 http://edgeguides.rubyonrails.org/active_record_migrations.html#changing-columns – oreoluwa
http://*.com/questions/25681599/rails-4-migrate-table-id-to-uuid – itsnikolay