【问题标题】:Rails with Neo4jrb still uses sqlite3 for testing带有 Neo4jrb 的 Rails 仍然使用 sqlite3 进行测试
【发布时间】:2018-04-14 08:28:21
【问题描述】:

我已经使用Neo4jRB 将我的rails 应用程序设置为使用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 异常并给我一个未找到适配器的异常。

【问题讨论】:

  • 您对config/neo4j.yml 做了哪些更改?您尝试对database.yml 进行哪些更改,尝试更改时会出现哪些错误?

标签: ruby-on-rails neo4j neo4jrb


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2018-05-06
    • 1970-01-01
    • 1970-01-01
    • 2020-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多