背景 railsではrails g scaffoldなどでModelを作成すれば、 自動的にidが付与されます。 しかもprimary_keyでauto_incrementでかつindexも張られるので、 普段はidを気にする必要はありません。 railsを使い、自分でデータ構造を決める場合はrailsの流儀に則った方が楽で、問題も起こりません。 しかし、古いデータを活用した場合、流儀にそぐわない事もあり得ます。 今回は規約に沿わない場合の対応について大きく分けて2つの場合について説明します。 なお環境は以下の物で検証しています。 * ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.4.0] * Rails 4.0.0 * composite_primary_keys (6.0.0) 主キーがidではない 主キーがid