タグ

indexに関するanimistのブックマーク (2)

  • migrationで複数カラムのindexを生成する時の注意事項 - マオの徒然日記

    Ruby on Railsではmigrationファイルに add_index テーブル名, :カラム名, :unique => true とすることで簡単にテーブルにユニークなindexを生成することが出来ます。 そして、indexに複数のカラムを設定する際は add_index テーブル名, [:カラム名1, :カラム名2, ・・・], :unique => true のようにすることで実現できます。 なので、意気揚々とindexを作成していたら以下のようなエラー。 Index name 'xxxxxxxxxxxxxxxxxxx' on table 'テーブル名' is too long; the limit is 64 characters 何も考えず複数カラムでindexを生成していたら、その名前が長くなりすぎて、エラーとのこと。 64文字以内にしなさいね、ということらしいです。

    migrationで複数カラムのindexを生成する時の注意事項 - マオの徒然日記
  • yuum3のお仕事日記 - migrationファイルの調整、テーブル作成

    Model で作成された各テーブル用migrationファイルに NOT NULL制約や index を追加します。 制約やindexの付け方にはいろいろな流儀があると思いますが、今回は以下のような考え方で付けます。 NOT NULL制約は外部キーのようにそこがnullになってしまうと明らかにデータ構造がおかしくなってしまうカラム また、テーブルの核になるデータでそのカラムがnullのデータというのはありえないカラム index は外部キー等でjoint等で絶対用いられるカラム どのようなルールにするかは、作成するDBの性格や文化があるので、これが正解だというのはありません。ただし、一つのプロジェクトの中では統一された考え方や一貫性があることは重要だと思います。 例: class CreateRequests < ActiveRecord::Migration def self.up cr

    yuum3のお仕事日記 - migrationファイルの調整、テーブル作成
  • 1