ruby-on-rails - 使用 Rails 配置 Neo4j 以适应不同的环境

标签 ruby-on-rails neo4j rspec

我已经使用 neo4j core gem 在开发环境中配置了 Neo4j。

为了创建新连接,我在 application.rb 中使用了以下代码

应用程序.rb

neo4j_adaptor = Neo4j::Core::CypherSession::Adaptors::HTTP.new('http://localhost:7474')
neo4j_session = Neo4j::Core::CypherSession.new(neo4j_adaptor)

如何配置neo4j,使开发环境和测试环境使用不同的数据库。

例如:用于开发sample_development 和运行rspec Sample_test。

最佳答案

我不知道你对 Rails 有多少经验。但在 Rails 中,你主要有 3 个默认环境:

1-开发

2-测试

3-生产

您可以针对不同的环境使用不同的配置,如此问题所示:

Best way to create custom config options for my Rails app?

最后一件事,我不建议直接使用 Neo4j 适配器,除非您非常有经验并且由于业务需求需要直接访问它。

我建议在核心适配器周围使用 Neo4jrb 包装器,如下所示:

https://neo4jrb.readthedocs.io/en/9.2.x/Setup.html#generating-a-new-app

<小时/>

更新

使用以下代码在项目的 config 目录中创建一个名为 neo4j.yml 的文件:

development:
  neo4j_api: http://localhost:7474

test:
  neo4j_api: http://something_else:7474

production:
  neo4j_api: http://maybe_something_else:7474

然后在您的项目中创建一个初始化程序,将其命名为neo4j.rb,因此其路径应为:config/initializers/neo4j.rb .

在此初始化程序中放入以下代码:

NEO4J_CONFIG = YAML.load_file(Rails.root.join('config/neo4j.yml'))[Rails.env]

然后您将可以在 Rails 应用程序的任何部分访问 NEO4J_CONFIG,例如:

NEO4J_CONFIG['neo4j_api']

您的代码应如下所示:

neo4j_adaptor = Neo4j::Core::CypherSession::Adaptors::HTTP.new(NEO4J_CONFIG['neo4j_api'])
neo4j_session = Neo4j::Core::CypherSession.new(neo4j_adaptor)

关于ruby-on-rails - 使用 Rails 配置 Neo4j 以适应不同的环境,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52167996/

相关文章:

java - 尝试使用 CORS 时出现 403(禁止访问)

ruby-on-rails - 对生成的文本编写测试

ruby-on-rails - 我必须运行 rake db :test:load each time manually before runnings tests?

rspec - 如何在RSpec 2中缩短测试失败的回溯?

neo4j - 如何在密码中获取 map 的值

java - Neoclipse 无法生成图形 View ,显示引用节点错误?

ruby-on-rails - 在 Controller 中使用 using 方法测试辅助方法

ruby-on-rails - NoMethodError(#<User> 的未定义方法 `password_digest='

ruby-on-rails - 使用嵌套路由进行渲染时出错

Neo4j 2.0 : SKIP, LIMIT,ORDER UNION 返回的所有结果?