mongerを使用して、ClojureのシンプルなアプリケーションからMongoDbのデータをフェッチして保存しています。私は強力なRuby on Railsのバックグラウンドを持っているので、環境(開発、テスト、制作)ごとのデータベース設定に精通しています。私はClojureで何か似たようなことをしたい。コードに環境を追加するにはどうすればよいですか?私はClojure-wayでデータとしてコードを作成し、yamlファイルは使用しません。それが何か変わるなら私はライニンゲンを使っています。環境ごとのClojureデータベース設定
5
A
答えて
5
私が作成したサンプルWebアプリclj-boilerplateをご覧ください。
あり、それは箱から出して環境を理解し、例の環境ファイルはhereを見ることができる方法についてのREADMEでの情報です - しかし、それはこのようなものになります。
(def config
(let [env (or (System/getenv "ENVIRONMENT") "development")]
((keyword env)
{:development
{:database-url "postgres://lborges:@localhost/clj-boilerplate"}
:test
{:database-url "postgres://lborges:@localhost/clj-boilerplate-test"
:production
{:database-url (System/getenv "DATABASE_URL")}})))
このアプローチを進化以来、私が持っている
が、これをあなたを始めなければなりません。
これが役に立ちます。
8
Leiningen profiles機能を使用できます。
:profiles {:dev {:resource-paths ["resource-dev"]}
:prod {:resource-paths ["resource-prod"]}}
今すぐ2つのディレクトリresource-dev
とresource-prod
を作成し、定義していますそれらの両方でconfig.cljファイルを作成し、あなたのプロファイルを定義します(DEVとPRODを必要とするほとんどの場合)あなたのproject.cljで
設定を保存するためのマップ。以下のような何か:
(ns myapp.config)
(def config {:database "dev"})
そして、アプリのコードでは、あなたが(一度だけ)設定ファイルをロードするために、スニペットの下に使用し、コンフィグマップにアクセスすることができます。
(use 'clojure.java.io)
(def config (delay (load-file (.getFile (resource "config.clj")))))
(defn get-config []
@(force config))
今あなたがアクセスするget-config
機能を使用することができますconfigマップ
0
はConfijulate(!個人的なプロジェクトのためのプラグイン)を使用して見ることもできます。:
https://github.com/bbbates/confijulate
それはあなたの環境に固有の設定マップを定義し、JVMのシステムプロパティを経由して使用するかを指定することができます。
関連する問題
- 1. 環境ごとの設定ファイル
- 2. 環境設定
- 3. Rails:環境ごとのイニシャライザ?
- 4. 環境設定画面なしの環境設定?
- 5. パーシステントダッシュボードウィジェット環境設定
- 6. Codeigniter環境設定
- 7. ステージング環境設定
- 8. テスト環境とプロダクション環境を設定する
- 9. Xcodeビヘイビアの環境設定
- 10. .NET 4.0環境の設定
- 11. の設定環境変数
- 12. 環境変数の設定
- 13. Evernote APIの環境設定
- 14. Eclipse環境の設定
- 15. Androidのアプリケーション環境設定
- 16. 設定/環境はRedmineの
- 17. 言語設定環境とM-xシェル
- 18. Photoshopスクリプトでユーザーごとまたはドキュメントごとの環境設定を保存する
- 19. クロスプラットフォームの設定、オプション、設定、環境設定、デフォルト
- 20. 春の環境プロパティーのソース設定
- 21. ドッカー環境のサブドメインの設定
- 22. PyCharmでの仮想環境の設定
- 23. Android JUnitの環境設定のテスト
- 24. 環境設定の使い方
- 25. iOS:UIWebViewのWeb環境設定ですか?
- 26. ASTParserの設定環境を手動で
- 27. PVMの環境設定方法は?
- 28. Rails 3 /カスタム環境変数の設定
- 29. JNLP/Webstart - 環境変数の設定
- 30. 環境設定ファイル内のボタン
正しい設定を読み込むためにどの環境が実行されているかをアプリはどのように認識していますか? – Lee
あなたは特定のプロファイルでアプリケーションを実行します: 'lein with-profile dev run' – Ankur
そして、Herokuのような場所に展開して、lein with-profileを使うことはできません(私は思うが、5日間のClojure私のベルトの下に...)。また、run use "dev"などのデフォルトを設定することができますか?別の場所で指定されていない限り、テストは "test"を使用しますか? – Lee