【发布时间】:2018-11-17 15:48:11
【问题描述】:
我正在处理一个现有项目,我需要更改为现有字段的类型。该字段被声明为
add_column :users, :fo_creator, :integer
但由于 fo_creator 字段是对 users 表的引用,我需要将其更改为:
add_reference :user, :fo_creator, index: true
如何在不丢失保存数据的情况下做到这一点
【问题讨论】:
-
我不确定我理解你想要什么。是否需要为列添加索引?如果
fo_creator是对另一个模型的引用,您必须在模型处定义关系,您不需要修改数据库。你能更好地解释一下你的模型是什么,关系是什么,你现在拥有什么以及你期望它是什么?现在还不太清楚 -
实际上在用户表中我有一个整数字段 fo_creator 引用一个用户。当我无法在模型中设置关系belongs_to时的问题,我相信是因为该字段是使用整数创建的,然后我试图找到一种使用引用的方法
-
The problem when I can't set a relation belongs_to in the model你遇到了什么错误? belongs_to 的键是整数(add_reference方法仅使用一些约定添加一个整数)。展示你的模型,你可以设置关系,你只需要告诉 ActiveRecord 类名和列名就可以了。
标签: ruby-on-rails ruby-on-rails-4 migration