1

好吧,我用谷歌搜索了我的问题,但我找不到任何东西,或者我这不是正确的问题..

问题是我需要用 :another_id 修改数据库的主键名称:id,在我的项目中我需要使用 pgrouting,它包含几个 plsql 函数,这些函数使用名称为 gid 的主键,而不是修改 plsql函数最好更改 id 名称,我想通过迁移来做到这一点,因为我认为这是 rails 方式。

有可能吗,我该怎么做?

在此先感谢并为我的英语感到抱歉。

编辑

  create_table :pruebas, primary_key: :gid do |t|
    t.string :name
    t.timestamps
  end

这可以解决问题,并使用此活动记录生成并使用 pk 作为 gid。

对不起,如果我的问题不清楚.. Gracias por las respuestas。

4

2 回答 2

1

要自己设置主键,当您创建表时,您将执行以下操作:

create_table(:table_name, primary_key: 'gid') do |t|
   ...
end

您需要在模型中定义主键名称:

self.primary_key = 'gid'
于 2012-07-03T21:05:26.947 回答
1

我没有任何使用 PostgreSQL 或 pgRouting 的经验,但我相信您正在寻找的是一种指示 ActiveRecord 使用不同列作为主键的方法。

我相信您正在寻找 set_primary_key。

class Project < ActiveRecord::Base
  set_primary_key "gid"
end
于 2012-07-03T21:11:58.013 回答