我已经使用neo4j核心gem在开发环境中配置了Neo4j。
要创建新连接,我在application.rb中使用了以下代码
Application.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。
答案 0 :(得分:2)
我不知道您在Rails方面有多少经验。但是在rails中,默认情况下主要有3种环境:
1-开发
2-测试
3生产
您可以为不同的环境使用不同的配置,如以下SO问题所示:
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
更新
使用以下代码在项目的neo4j.yml
目录中创建一个名为config
的文件:
development:
neo4j_api: http://localhost:7474
test:
neo4j_api: http://something_else:7474
production:
neo4j_api: http://maybe_something_else:7474
然后在您的项目中创建一个initializer
,将其称为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)