繁体   English   中英

为不同的环境配置带有rails的Neo4j

[英]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问题所示:

为我的Rails应用程序创建自定义配置选项的最佳方法?

最后,我不建议直接使用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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM