小编典典

如何在SQLite3和Rails 3.1中打开REGEXP?

sql

我在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。


阅读 197

收藏
2021-05-05

共1个答案

小编典典

我遇到了同样的问题。我获取了解决方案中使用的代码,将其移植到与Rails 3+一起使用,并制成了易于使用的gem。我希望这有帮助。

https://github.com/sei-mi/sqlite3_ar_regexp

2021-05-05