使用Neo4jrb的Rails仍然使用sqlite3进行测试

时间:2018-04-14 08:28:21

标签: ruby-on-rails neo4j neo4jrb

我已经设置了我的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异常并为我提供一个未找到适配器的异常。

1 个答案:

答案 0 :(得分:0)

如错误中所述,它源于ActiveRecord而非Neo4jrb:

ActiveRecord::StatementInvalid: SQLite3::SQLException: no such table:

我假设您同时安装了Neo4jrb和ActiveRecord(允许)。运行测试时,ActiveRecord配置不正确。如果您不想安装ActiveRecord,则应将其卸载。换句话说,这听起来像是ActiveRecord配置问题,而不是Neo4jrb配置问题。