[+postgres] (mount.core/start *db*) cannot run
elect000 opened this issue · 2 comments
elect000 commented
Hello.
I tried using postgresql, so, I did here in my shell
~/GitHub λ lein new luminus-psql +postgres
Failed to resolve version for luminus-psql:lein-template:jar:RELEASE: Could not find metadata luminus-
psql:lein-template/maven-metadata.xml in local (/home/elect/.m2/repository)
Failed to resolve version for luminus-psql:lein-template:jar:RELEASE: Could not find metadata luminus-psql:lein-template/maven-metadata.xml in local (/home/elect/.m2/repository)
This could be due to a typo in :dependencies, file system permissions, or network issues.
If you are behind a proxy, try setting the 'http_proxy' environment variable.
Could not find template luminus-psql on the classpath.
~/GitHub λ lein new luminus luminus-psql +postgres
Generating a Luminus project.
~/GitHub λ cd luminus-psql/
~/GitHub/luminus-psql λ cat dev-config.edn
;; WARNING
;; The dev-config.edn file is used for local environment variables, such as database credentials.
;; This file is listed in .gitignore and will be excluded from version control by Git.
{:database-url "jdbc:postgresql://localhost/guestbook_dev?user=guestbook&password=password"}
~/GitHub/luminus-psql λ lein run migrate
2018-01-03 07:33:08,453 [main] DEBUG org.jboss.logging - Logging Provider: org.jboss.logging.Slf4jLoggerProvider
2018-01-03 07:33:08,809 [main] INFO migratus.core - Starting migrations
2018-01-03 07:33:08,886 [main] INFO migratus.database - creating migration table 'schema_migrations'
2018-01-03 07:33:08,925 [main] DEBUG migratus.migrations - Looking for migrations in #object[java.io.File 0x2081b4a8 /home/elect/GitHub/luminus-psql/resources/migrations]
2018-01-03 07:33:08,936 [main] INFO migratus.core - Running up for [20180103072555]
2018-01-03 07:33:08,937 [main] INFO migratus.core - Up 20180103072555-add-users-table
2018-01-03 07:33:08,953 [main] DEBUG migratus.migration.sql - found 1 up migrations
2018-01-03 07:33:08,961 [main] DEBUG migratus.database - marking 20180103072555 complete
2018-01-03 07:33:08,971 [main] INFO migratus.core - Ending migrations
~/GitHub/luminus-psql λ lein repl
2018-01-03 07:34:59,322 [main] DEBUG org.jboss.logging - Logging Provider: org.jboss.logging.Slf4jLoggerProvider
nREPL server started on port 17009 on host 127.0.0.1 - nrepl://127.0.0.1:17009
REPL-y 0.3.7, nREPL 0.2.13
Clojure 1.9.0
OpenJDK 64-Bit Server VM 1.8.0_144-b01
Docs: (doc function-name-here)
(find-doc "part-of-name-here")
Source: (source function-name-here)
Javadoc: (javadoc java-object-or-class-here)
Exit: Control+D or (exit) or (quit)
Results: Stored in vars *1, *2, *3, an exception in *e
user=> (require '[luminus-psql.db.core :as db])
nil
user=> (mount.core/start db/*db*)
user=> ClassNotFoundException unt.core.DerefableState@16339acc java.net.URLClassLoader.findClass (URLClassLoader.java:381)
user=>
What's happen? I think db was changed Mount.core to unt.core .
Thank you
yogthos commented
Hi,
There are a couple of things you're missing. First, mount isn't started automatically when you use lein repl
. You have to start it by running (start)
to initialize the application. Once that's done you have to run (mount.core/start #'db/*db*)
to start the db state. Note the #'
in front denoting the var as opposed to the symbol.
elect000 commented
Thanks for your help!
~/GitHub/luminus-psql λ PORT=4000 lein repl
2018-01-03 08:58:14,900 [main] DEBUG org.jboss.logging - Logging Provider: org.jboss.logging.Slf4jLoggerProvider
nREPL server started on port 13563 on host 127.0.0.1 - nrepl://127.0.0.1:13563
REPL-y 0.3.7, nREPL 0.2.13
Clojure 1.9.0
OpenJDK 64-Bit Server VM 1.8.0_144-b01
Docs: (doc function-name-here)
(find-doc "part-of-name-here")
Source: (source function-name-here)
Javadoc: (javadoc java-object-or-class-here)
Exit: Control+D or (exit) or (quit)
Results: Stored in vars *1, *2, *3, an exception in *e
user=> (require '[luminus-psql.db.core :as db])
nil
user= (start)
2018-01-03 08:59:22,908 [nREPL-worker-2] INFO luminus-psql.env -
-=[luminus-psql started successfully using the development profile]=-
2018-01-03 08:59:23,222 [nREPL-worker-2] INFO luminus.http-server - starting HTTP server on port 4000
2018-01-03 08:59:23,291 [nREPL-worker-2] DEBUG io.undertow - starting undertow server io.undertow.Undertow@37d69099
2018-01-03 08:59:23,312 [nREPL-worker-2] INFO org.xnio - XNIO version 3.3.6.Final
2018-01-03 08:59:23,423 [nREPL-worker-2] DEBUG io.undertow - Configuring listener with protocol HTTP for interface 0.0.0.0 and port 4000
2018-01-03 08:59:23,465 [nREPL-worker-2] INFO org.projectodd.wunderboss.web.Web - Registered web context /
{:started ["#'luminus-psql.config/env" "#'luminus-psql.handler/init-app" "#'luminus-psql.core/http-server" "#'luminus-psql.db.core/*db*"]}
user=> (mount.core/start #'db/*db*)
{:started []}
user=> (db/create-user! {:id "user1" :first_name "Bob" :last_name "Bobberton" :email "bob.bobberton@mail.com" :pass "verysecret"})
1
user=> (db/get-user {:id "user1"})
{:id "user1", :first_name "Bob", :last_name "Bobberton", :email "bob.bobberton@mail.com", :admin nil, :last_login nil, :is_active nil, :pass "verysecret"}
user=>