我已经设置了我的rails应用程序以使用Neo4jRB使用Neo4j,这在生产和开发中都很好。在测试中,我得到每个测试的错误ActiveRecord::StatementInvalid: SQLite3::SQLException: no such table:
,所以好像它仍然想要使用SQLite3。
我已经设置了我的 config / neo4j.yml ,以便它指向正在运行的测试数据库,但 database.yml 仍然指向SQLite3并且如果我进行更改然后错误发生变化,所以我猜它与此有关,但neo4jrb
文档没有提到你需要更改 database.yml 。
这是我的 neo4j.yml 的测试部分:
test:
type: http
url: http://localhost:7575
database.yml 只是标准的Rails生成文件:
default: &default
adapter: sqlite3
pool: <%= ENV.fetch(RAILS_MAX_THREADS") { 5 } %>
timeout: 5000
test:
<<: *default
database: db/test.sqlite3
将适配器更改为 database.yml 中的实例neo4jrb
会删除SQLite异常并为我提供一个未找到适配器的异常。
答案 0 :(得分:0)
如错误中所述,它源于ActiveRecord而非Neo4jrb:
ActiveRecord::StatementInvalid: SQLite3::SQLException: no such table:
我假设您同时安装了Neo4jrb和ActiveRecord(允许)。运行测试时,ActiveRecord配置不正确。如果您不想安装ActiveRecord,则应将其卸载。换句话说,这听起来像是ActiveRecord配置问题,而不是Neo4jrb配置问题。