Fork me on GitHub
#duct
<
2019-06-10
>
y.khmelevskii06:06:24

Hi gents! Can you please explain me why duct.database/sql doesn’t work when I configure connection in config.edn not dev.edn. I catch the following exception:

class duct.database.sql.Boundary cannot be cast to class clojure.lang.IFn
   (duct.database.sql.Boundary is in unnamed module of loader
   clojure.lang.DynamicClassLoader @1cc6aa6c; clojure.lang.IFn is in unnamed
   module of loader 'app')

y.khmelevskii06:06:43

so, if in example lein new duct my-app +api +ataraxy +example +postgres I will moved duct.database/sql section from dev.edn to config.edn I with catch this problem

jahson06:06:58

@y.khmelevskii Hi. Can you tell me the version of duct yo’re using?

y.khmelevskii06:06:23

@jahson I used last versions:

duct/core           {:mvn/version "0.7.0"}
  duct/module.sql     {:mvn/version "0.5.0"}

jahson06:06:39

Where do you place your duct.database/sql section in config.edn? It seems like you’ve placed it outside of the base profile?

jahson06:06:39

I got the error, and the cause is the wrong placement of :duct.database/sql configuration. Basically it should be in :duct.profile/base section. The reason is that in the version 0.11 of duct framework the profiles were added, and now the first level of keys in config is for modules / profiles.

y.khmelevskii07:06:11

@jahson I got you, thank you!

y.khmelevskii07:06:59

and one more question. I use ragtime and I want to move description af all migrations to separate migration.edn. In previous version I could use :duct.core/include ["migration"] but now I should use {:duct.profile/migration #duct/include "migration"]}. But it doesn’t work for me No method in multimethod 'init-key' for dispatch value: :duct.profile/migration

jahson07:06:40

I think you could just put something like :duct.migrator/ragtime {:migrations #duct/include "migrations"} or :duct.migrator/ragtime {:migrations [#duct/include "migration1" ...]}. What yo’re trying to do is to include the profile called migration, but your profile isn’t derived from :duct/profile. You should look for duct_hierarchy.edn in src directory and add the derivation, like in https://github.com/duct-framework/core/blob/master/src/duct_hierarchy.edn

y.khmelevskii19:06:19

thank you for explanation @jahson!