我有一个奇怪的具体问题。假设我在 Rails 项目中有这个表:
create_table "documents", force: true do |t|
t.text "tags"
end
add_index "documents", ["tags"], name: "index_documents_on_tags", type: :fulltext
Run Code Online (Sandbox Code Playgroud)
我有一个集成测试,它创建了一些Document具有不同标签组合的实例,我尝试测试的方法应该通过全文搜索返回。不幸的是,事实证明 InnoDB 在当前事务结束之前不会重建其全文索引,这意味着我的搜索结果为空。
如果我在固定装置中构建测试数据(例如,提前在 rspec 用于每个测试的事务之外),那么一切都可以正常工作,但是有什么方法可以让我调整数据并在同一测试中对其运行搜索?