我正在尝试从Clojure的Heroku外部连接到Heroku Dyno上的数据库。
从Heroku指南中说它创建了一个连接DATABASE_URL=$(heroku config:get DATABASE_URL -a your-app) your_process
从我的应用程序中我做了DATABASE_URL=$(heroku config:get DATABASE_URL -a my-app) lein repl
然后(System/getenv "DATABASE_URL")
,看到数据库网址是正确的。
我的问题是我如何在应用程序中设置DATABASE_URL。因此,我可以DATABASE_URL=$(heroku config:get DATABASE_URL -a my-app) lein repl
或lein repl
进行连接而不是lein run
来连接数据库。我是否必须将DATABASE_URL=$(heroku config:get DATABASE_URL -a my-app)
放入我的应用程序中的Config文件中。如果我这样做,我也没有过程。这有必要吗?
非常感谢任何帮助
答案 0 :(得分:1)
对于lein repl
,将运行的代码位于user.clj中,此文件可以位于目录dev下,该目录必须包含在project.clj文件中的:source-paths
中。 dev的使用是我似乎已经采用的惯例(来自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/),并注意需要在project.clj文件中指定运行的-main
- 在链接文本中指定配置/ starup代码条目::main learn-a-language.important-phrases
。