我在Rails 3中使用SQLite3数据库有以下语句:
word = 'Hello' word_entry = Word.where("name REGEXP :word", {:word => "[[:<:]]#{word}[[:>:]]"})
但是,当在SQLite3下运行它时,我不断得到:
SQLite3 :: SQLException:没有这样的功能:REGEXP
我在SQLite3文档中看到它确实支持REGEXP函数。在我的gemfile中,我有一行
gem 'sqlite3'
我的数据库配置文件如下所示:
development: adapter: sqlite3 database: db/development.sqlite3 pool: 5 timeout: 5000
有什么想法吗?
解决方案: 我最终找到了该解决方案。不幸的是,它不适用于Rails3。因此,使用正则表达式我最终切换到MYSQL而不是SQLite3。
我遇到了同样的问题。我获取了解决方案中使用的代码,将其移植到与Rails 3+一起使用,并制成了易于使用的gem。我希望这有帮助。
https://github.com/sei-mi/sqlite3_ar_regexp