[解決済み] Ruby on Railsのマイグレーションで、カラムをユニークにしてインデックスを作成するにはどうすればよいですか?
2022-03-21 05:30:33
質問
コラムを作りたい
unique
をRuby on Railsのマイグレーションスクリプトに追加しました。これを行うための最良の方法は何ですか?また、テーブルのカラムにインデックスを付ける方法はありますか?
を強制したい。
unique
カラムを使用するのとは対照的に、データベースの
:validate_uniqueness_of
.
解決方法は?
Railsの古いバージョンのための短い答えです(Rails 4+については他の答えを参照してください)。
add_index :table_name, :column_name, unique: true
複数のカラムをまとめてインデックスを作成するには、単一のカラム名ではなく、カラム名の配列を渡します。
add_index :table_name, [:column_name_a, :column_name_b], unique: true
もし、"index name... is too long"と表示された場合は、以下のような方法で、index name... を追加します。
name: "whatever"
をadd_indexメソッドに追加して、名前を短くすることができます。
きめ細かな制御を行うために、"
execute
ストレートなSQLを実行するメソッドです。
それだ!
もしこれを通常の古いモデルの検証の代わりとして行っているのであれば、どのように動作するかを確認してください。モデルレベルのバリデーションがないと、ユーザーへのエラーレポートがうまくいかない可能性があります。常に両方を行うことができます。
関連
-
[解決済み】PG::ConnectionBad: fe_sendauth: パスワードが供給されない
-
[解決済み] Railsマイグレーションを利用してカラムをドロップする方法
-
[解決済み] Ruby on Railsのデータベースをパージまたは再作成する
-
[解決済み] Ruby on Railsのマイグレーションでデータベースのカラムの名前を変更するにはどうすればよいですか?
-
[解決済み] Ruby on Railsで現在の絶対URLを取得するにはどうすればよいですか?
-
[解決済み] Ruby on RailsでJSON出力を "きれい "にフォーマットする方法
-
[解決済み] Rails DBの移行 - テーブルを削除するには?
-
[解決済み】Rails 4で参照列のマイグレーションを追加する
-
[解決済み】Ruby on Railsはモデルのfield:typeを生成します - field:typeのオプションは何ですか?
-
[解決済み】Ruby on Rails - CSVファイルからのデータインポート
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】bundle installが "Could not locate Gemfile "を返す。
-
[解決済み】警告:定数 ::Fixnum は非推奨 新しいモデルを生成するとき
-
[解決済み】gemのインストールができない - gemネイティブ拡張の構築に失敗 - そのようなファイルをロードできない -- mkmf (LoadError)
-
[解決済み] gemのインストールができない - gemネイティブ拡張の構築に失敗 - そのようなファイルをロードできない -- mkmf (LoadError)
-
[解決済み] Rubyのクラスで未初期化の定数エラーが発生する
-
[解決済み] Rails ExecJS::ProgramError in Pages#home?
-
[解決済み] Oauth2 Instagram API "リダイレクトURIが登録されたリダイレクトURIと一致しない"
-
[解決済み] Ruby: public static メソッドを作るには?
-
[解決済み] rails/rubyでgroup_byを使用する。
-
[解決済み] Rails 4で、以前のバージョンのRailsでattr_accessibleを使用していた状況に遭遇した場合、Forbidden Attributes Errorが発生する。