2

質問に対するこの回答https://stackoverflow.com/a/973785/1297371 :文字列比較時に Sqlite3 を大文字と小文字を区別しないように設定するには? 「COLLATE NOCASE」列を使用してテーブルを作成する方法を説明します。

私の質問は、レール移行でそのような列を作成する方法ですか? つまり、どのように

create table Test
(
  Text_Value  text collate nocase
);

create index Test_Text_Value_Index
  on Test (Text_Value collate nocase);

行う:

create_table :tests do
  #WHAT HERE?
end
add_index #... WHAT HERE?
4

2 に答える 2

0

検索を行う場合、お使いのバージョンの Rails で 'collat​​e' がまだ使用できない場合 ("Unknown key: :COLLATE" が表示されます)、手動でインデックスを作成する必要があります。

execute("create index Test_Text_Value_Index on Test (Text_Value collate nocase);")

「def up」(「drop_table」は「def down」でもインデックスをドロップします)

于 2016-07-06T07:59:31.760 に答える