我可以在没有自动ID列的情况下使ActiveRecord运行吗?

时间:2013-01-22 22:56:13

标签: ruby-on-rails-3 activerecord

我需要在Rails 3.2应用程序中有一个树表,它是我正在使用的API从另一个站点访问的表的副本。这些数据已存在,并且已有自己的idparent_id列。我将使用ancestry gem来访问它。

我需要不时用这些数据刷新这个表。因此,我希望预定义的id列成为ActiveRecord目的的id。除了刷新数据之外,这个表永远不会有任何插入,只有更新。

我的问题是,我可以简单地将模型中的id字段重新定义为此预定义id,并让MySQL“id”字段只是坐在那里吗?

1 个答案:

答案 0 :(得分:0)

你可以像这样禁用id字段

create table :blah, id: false

或者您可以将ID作为主键禁用。

create_table :blah, id: false do |t|
  t.integer :id, options: 'PRIMARY KEY'
end