ruby-on-rails - rails : From UUID to ID

标签 ruby-on-rails ruby postgresql migration ruby-on-rails-5

我创建了一个以 UUID 作为主键的模型 Order。 现在,我想将其改回正常的增量整数。

我试过像这样运行迁移:

add_column :orders, :id, :primary_key

但它显然不起作用,因为已经有一个 id 列。

我找到了很多关于如何从 id 到 uuid 的帖子,但没有找到如何反转它。

最佳答案

表格有数据吗?

如果不是,只需删除旧的 id 列并添加新的:

remove_column :orders, :id
add_column :orders, :id, :primary_key

如果是,将 id 列重命名为 id_deprecated

rename_column :orders, :id, :id_deprecated
add_column :orders, :id, :primary_key

并添加您的逻辑来处理其他表中对 old_id 的引用。

关于ruby-on-rails - rails : From UUID to ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45865344/

相关文章:

postgresql - 在使用 PostgreSQL 的 TypeORM 中,findOne(id) 是否比 findOne({ id }) 快?

ruby-on-rails - 建立ActiveRecord关系而不让它执行查询

ruby - 从自定义提供程序访问 Puppet 内置变量

ruby - 构建逗号分隔文件

sql - 对 CASE WHEN SQL 的结果执行多值 LIKE

postgresql - 使用 Sequelize CLI 生成的模型时找不到创建

ruby-on-rails - before_filter 带参数验证用户权限

ruby-on-rails - 我可以在表单输入集合中通过 CanCan 使用授权吗?

ruby-on-rails - 在Rails中手动设置updated_at

ruby - 如何在 Ruby 中按降序对数组进行排序