2017-04-19 99 views
1

我想從Clojure中的Heroku外部連接到Heroku Dyno上的數據庫。Heroku,Clojure - 連接到Heroku外部的數據庫

從Heroku的指南,它說創建從我的應用程序沒有DATABASE_URL=$(heroku config:get DATABASE_URL -a my-app) lein repl然後(System/getenv "DATABASE_URL"),看到數據庫的URL是正確的連接DATABASE_URL=$(heroku config:get DATABASE_URL -a your-app) your_process

我的問題是如何從應用程序內設置DATABASE_URL。因此,我不用做DATABASE_URL=$(heroku config:get DATABASE_URL -a my-app) lein repl來連接到數據庫,我只能做lein repllein run並連接。我必須將DATABASE_URL=$(heroku config:get DATABASE_URL -a my-app)放在我的應用程序中的配置文件中。如果我這樣做,我也沒有一個過程。這是必要的嗎?

任何幫助深表感謝

+0

你是說你根本不想使用env vars?或者你嘗試過'export DATABASE_URL =「$(...)'? – codefinger

回答

1

對於lein repl將運行在user.clj,在這個文件可以是目錄下的開發,這將在project.clj文件被列入:source-paths代碼。開發的使用是我似乎已經拿起的一個慣例(來自Untangled)。然而,user.clj的使用已經變成了lein。見Where should the file user.clj go?。您也可能需要一個開發人員配置文件。我知道我在這裏有點模糊,其他人可能會做得更好 - 這是一個簡單的project.clj,適用於我:https://github.com/chrismurrph/Accounting/blob/master/project.clj

lein run將運行完全不同的代碼。請參閱http://www.flyingmachinestudios.com/programming/how-clojure-babies-are-made-lein-run/(或http://www.braveclojure.com/getting-started/),並注意運行的-main需要在project.clj文件中指定 - 在鏈接的文本中,配置/ starup代碼是使用條目:main learn-a-language.important-phrases指定的。

相關問題