簡體   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