对问题的回答https://stackoverflow.com/a/973785/1297371:How to set Sqlite3 to be case insensitive when string comparing? 讲述如何使用“COLLATE NOCASE”列创建表。
我的问题是如何在rails迁移中创建这样的列? 即如何来自
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?
答案 0 :(得分:0)
我添加了新的迁移,删除并重新创建了索引,如:
class AddIndexToWordVariations < ActiveRecord::Migration
def change
remove_index :word_variations, :variation_word
add_index :word_variations, :variation_word, :COLLATE => :NOCASE
end
end
其中'word_variations'是我的表
答案 1 :(得分:0)
对于搜索的人来说,如果您的rails版本中仍然没有“collate”(您将获得“Unknown key :: COLLATE”),那么您必须手动创建索引:
<?php
if( !empty($_POST['entry_508642568']) ) {
$myfile = fopen("testfile.txt", "a") or die("Unable to open file!");
$txt = "postcode" . $_POST['entry_508642568'];
echo $txt;
fwrite($myfile, "\n". $txt);
fclose($myfile);
}
?>
在你的'def up'中('drop_table'会在你的'def down'中删除索引)