Я использую функцию полнотекстового поиска sqlite FTS4.Таблица FTS создается посредством миграции raw-sql с использованием CREATE VIRTUAL TABLE fts_foo USING fts4();
. Когда это выполняется, SQLite фактически создает несколько таблиц fts_foo
, fts_foo_content
, fts_foo_docsize
, fts_foo_segdir
, fts_foo_segments
, fts_foo_stat
, а такжев качестве индекса для fts_foo_segdir
столбцов.
Однако schema.rb
не понимает эти столбцы и выводит следующее
# Could not dump table "fts_foo" because of following StandardError
# Unknown type '' for column 'content'
# Could not dump table "fts_foo_content" because of following StandardError
# Unknown type '' for column 'c0content'
create_table "fts_foo_docsize", :primary_key => "docid", :force => true do |t|
t.binary "size"
end
create_table "fts_foo_segdir", :primary_key => "level", :force => true do |t|
t.integer "idx"
t.integer "start_block"
t.integer "leaves_end_block"
t.integer "end_block"
t.binary "root"
end
add_index "fts_foo_segdir", ["level", "idx"], :name => "sqlite_autoindex_fts_foo_segdir_1", :unique => true
create_table "fts_foo_segments", :primary_key => "blockid", :force => true do |t|
t.binary "block"
end
create_table "fts_foo_stat", :force => true do |t|
t.binary "value"
end
Я не думаю, что какую-либо из этих таблиц следует создаватьв schema.rb.Он должен просто создать одну виртуальную таблицу и позволить sqlite создавать вспомогательные таблицы.Есть ли способ, которым я могу сделать это?Если нет, то какие обходные пути облегчили бы это?