Active Record の基礎 - Railsガイド より引用。

主キーおよび外部キーは皆さんおなじみのルール。

  • 外部キー(foreign key): このカラムはテーブル名の単数形_idにする必要があります(例: item_idorder_id)。これらのカラムは、Active Recordがモデル間の関連付けを作成するときに参照されます。
  • 主キー(primary key): デフォルトでは id という名前のintegerカラムがテーブルの主キーに使われます(PostgreSQLやMySQLではbigint、SQLiteではinteger)。Active Recordマイグレーションでテーブルを作成すると、これらのカラムが自動的に作成されます。

また下記のタイムスタンプカラムもおなじみ。

  • created_at: レコード作成時に現在の日付時刻が自動的に設定されます
  • updated_at: レコード作成時や更新時に現在の日付時刻が自動的に設定されます

その他の使うべきときでしか使わないカラムのルールは下記の通り。

  • lock_version: モデルにoptimistic lockingを追加します
  • type: モデルでSingle Table Inheritanceを使う場合に指定します
  • 関連付け名_type: ポリモーフィック関連付けの種類を保存します
  • テーブル名_count: 関連付けにおいて、所属しているオブジェクトの数をキャッシュするのに使われます。たとえば、Articleクラスにcomments_countというカラムがあり、そこにCommentのインスタンスが多数あると、ポストごとのコメント数がここにキャッシュされます。