1

質問をグーグルで検索しましたが、何も見つからなかったか、正しい質問ではありません..

問題は、データベースの primary_key 名 :id を :another_id に変更する必要があることです。私のプロジェクトでは、pgrouting を使用する必要があり、いくつかの plsql 関数が含まれており、これらの関数は gid という名前の主キーを使用し、plsql を変更する代わりに使用します。関数はID名を変更する方が良いです。レールの方法だと思ったので、移行でこれを行うことを考えていました。

それは可能ですか、どうすればこれを行うことができますか??

事前に感謝し、私の英語で申し訳ありません.

編集

  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 に答える