我需要在 Rails 3.2 应用程序中有一个树表,它是我正在使用的 API 从另一个站点访问的表的副本。此数据已存在,并且已经具有自己的id
和parent_id
列。我将使用ancestry
宝石来访问它。
我需要不时使用该数据刷新此表。因此,我希望预定义的id
列成为用于活动记录目的的 id。除了刷新数据之外,此表永远不会有任何插入,只有更新。
我的问题是,我可以简单地将模型中的id
字段重新定义为这个预定义的id
,然后让MySQL"id"字段坐在那里吗?
您可以像这样禁用 id 字段
create table :blah, id: false
或者,您可以禁用 id 作为主键。
create_table :blah, id: false do |t|
t.integer :id, options: 'PRIMARY KEY'
end