[英]Configuring Neo4j with rails for different environments
我使用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。
我不知道你对Rails有多少经验。 但是在rails中你主要有3个环境是默认的:
1-发展
2-测试
3-生产
您可以针对不同的环境使用不同的配置,如此SO问题所示:
最后,我不建议直接使用Neo4j适配器,除非您真的有经验并且由于业务需求需要直接访问它。
我建议在核心适配器周围使用Neo4jrb包装器,如下所示:
https://neo4jrb.readthedocs.io/en/9.2.x/Setup.html#generating-a-new-app
UPDATE
使用以下代码在项目的config
目录中创建一个名为neo4j.yml
的文件:
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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.