Schema.rb не понимает виртуальные таблицы SQLite - PullRequest
2 голосов
/ 14 ноября 2011

Я использую функцию полнотекстового поиска 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 создавать вспомогательные таблицы.Есть ли способ, которым я могу сделать это?Если нет, то какие обходные пути облегчили бы это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...