luminus-framework/luminus

[+postgres] (mount.core/start *db*) cannot run

elect000 opened this issue · 2 comments

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

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.

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=>