Ruby on Rails 3 - 我可以让ActiveRecord在没有自动ID列的情况下运行吗?



我需要在 Rails 3.2 应用程序中有一个树表,它是我正在使用的 API 从另一个站点访问的表的副本。此数据已存在,并且已经具有自己的idparent_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

相关内容

  • 没有找到相关文章

最新更新