如何更改column_type并使用ActiveRecord删除当前的数据?

如何更改column_type并使用ActiveRecord删除当前的数据?

问题描述:

使用Rails 4,我有一个列(page_id),我需要强制它删除所有当前在数据库列中的数据(它在dev中,所以我现在不关心任何数据库) 。如何更改column_type并使用ActiveRecord删除当前的数据?

我的迁移是这样的:

change_column :sections, :page_id, :uuid

(我是从整数迁移离开页面)

如何使用change_column并删除所有这就是目前我的数据库中的数据?或者我需要做一个remove_column,然后add_column设置正确吗?

+0

我认为你可能最适合使用'remove_column'和'add_column'。 'change_column'对改变'column_name'和'column_type'很有用。 http://edgeguides.rubyonrails.org/active_record_migrations.html#changing-columns – oreoluwa

+0

http://*.com/questions/25681599/rails-4-migrate-table-id-to-uuid – itsnikolay

删除然后添加列似乎是最好的选择。但你可以改变列,然后用类似Section.update_all({:uuid => nil})来更新所有记录。