luminus-framework / luminus-template

a template project for the Luminus framework
http://www.luminusweb.net/
MIT License
645 stars 147 forks source link

lein new luminus cmap +mysql needs postgresql driver?!? #562

Closed Bost closed 2 years ago

Bost commented 2 years ago
❯ lein new luminus cmap +mysql && cd cmap && lein run
Warning: refactor-nrepl needs to run in the context of a project.
Warning: refactor-nrepl middleware won't be activated.
Generating a Luminus project.
Syntax error (SQLException) compiling at (/tmp/form-init8330292562059077615.clj:1:73).
No suitable driver

Full report at:
/tmp/clojure-15646117793303606967.edn
  /tmp/cmap ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────  14s 19:59:42
❯ cat /tmp/clojure-15646117793303606967.edn
{:clojure.main/message
 "Syntax error (SQLException) compiling at (/tmp/form-init8330292562059077615.clj:1:73).\nNo suitable driver\n",
 :clojure.main/triage
 {:clojure.error/phase :compile-syntax-check,
  :clojure.error/line 1,
  :clojure.error/column 73,
  :clojure.error/source "form-init8330292562059077615.clj",
  :clojure.error/path "/tmp/form-init8330292562059077615.clj",
  :clojure.error/class java.sql.SQLException,
  :clojure.error/cause "No suitable driver"},
 :clojure.main/trace
 {:via
  [{:type clojure.lang.Compiler$CompilerException,
    :message
    "Syntax error compiling at (/tmp/form-init8330292562059077615.clj:1:73).",
    :data
    {:clojure.error/phase :compile-syntax-check,
     :clojure.error/line 1,
     :clojure.error/column 73,
     :clojure.error/source "/tmp/form-init8330292562059077615.clj"},
    :at [clojure.lang.Compiler load "Compiler.java" 7652]}
   {:type java.lang.RuntimeException,
    :message "could not start [#'cmap.db.core/*db*] due to",
    :at [mount.core$up$fn__457 invoke "core.cljc" 80]}
   {:type java.lang.RuntimeException,
    :message
    "Failed to get driver instance for jdbcUrl=jdbc:postgresql://localhost:5432/postgres?user=bost&password=<masked>",
    :at
    [com.zaxxer.hikari.util.DriverDataSource
     <init>
     "DriverDataSource.java"
     114]}
   {:type java.sql.SQLException,
    :message "No suitable driver",
    :at [java.sql.DriverManager getDriver "DriverManager.java" 299]}],
  :trace
  [[java.sql.DriverManager getDriver "DriverManager.java" 299]
   [com.zaxxer.hikari.util.DriverDataSource
    <init>
    "DriverDataSource.java"
    106]
   [com.zaxxer.hikari.pool.PoolBase
    initializeDataSource
    "PoolBase.java"
    325]
   [com.zaxxer.hikari.pool.PoolBase <init> "PoolBase.java" 114]
   [com.zaxxer.hikari.pool.HikariPool <init> "HikariPool.java" 108]
   [com.zaxxer.hikari.HikariDataSource
    <init>
    "HikariDataSource.java"
    81]
   [hikari_cp.core$make_datasource invokeStatic "core.clj" 268]
   [hikari_cp.core$make_datasource invoke "core.clj" 265]
   [conman.core$connect_BANG_ invokeStatic "core.clj" 159]
   [conman.core$connect_BANG_ invoke "core.clj" 155]
   [cmap.db.core$eval13569$fn__13570 invoke "core.clj" 12]
   [mount.core$record_BANG_ invokeStatic "core.cljc" 74]
   [mount.core$record_BANG_ invoke "core.cljc" 73]
   [mount.core$up$fn__457 invoke "core.cljc" 81]
   [mount.core$up invokeStatic "core.cljc" 80]
   [mount.core$up invoke "core.cljc" 78]
   [mount.core$bring invokeStatic "core.cljc" 247]
   [mount.core$bring invoke "core.cljc" 239]
   [mount.core$start invokeStatic "core.cljc" 289]
   [mount.core$start doInvoke "core.cljc" 281]
   [clojure.lang.RestFn invoke "RestFn.java" 397]
   [mount.core$start_with_args invokeStatic "core.cljc" 389]
   [mount.core$start_with_args doInvoke "core.cljc" 385]
   [clojure.lang.RestFn invoke "RestFn.java" 410]
   [cmap.core$start_app invokeStatic "core.clj" 52]
   [cmap.core$start_app invoke "core.clj" 51]
   [cmap.core$_main invokeStatic "core.clj" 77]
   [cmap.core$_main doInvoke "core.clj" 59]
   [clojure.lang.RestFn invoke "RestFn.java" 397]
   [clojure.lang.Var invoke "Var.java" 380]
   [user$eval19424 invokeStatic "form-init8330292562059077615.clj" 1]
   [user$eval19424 invoke "form-init8330292562059077615.clj" 1]
   [clojure.lang.Compiler eval "Compiler.java" 7181]
   [clojure.lang.Compiler eval "Compiler.java" 7171]
   [clojure.lang.Compiler load "Compiler.java" 7640]
   [clojure.lang.Compiler loadFile "Compiler.java" 7578]
   [clojure.main$load_script invokeStatic "main.clj" 475]
   [clojure.main$init_opt invokeStatic "main.clj" 477]
   [clojure.main$init_opt invoke "main.clj" 477]
   [clojure.main$initialize invokeStatic "main.clj" 508]
   [clojure.main$null_opt invokeStatic "main.clj" 542]
   [clojure.main$null_opt invoke "main.clj" 539]
   [clojure.main$main invokeStatic "main.clj" 664]
   [clojure.main$main doInvoke "main.clj" 616]
   [clojure.lang.RestFn applyTo "RestFn.java" 137]
   [clojure.lang.Var applyTo "Var.java" 705]
   [clojure.main main "main.java" 40]],
  :cause "No suitable driver",
  :phase :compile-syntax-check}}
Bost commented 2 years ago

Oh bloody hell. The environment variable DATABASE_URL takes precedence over :database-url from dev-config.edn. And I didn't realize it is set on my system. Sorry.