(ns metabase.sync.sync-metadata.dbms-version (:require [metabase.driver :as driver] [metabase.driver.util :as driver.u] [metabase.sync.interface :as i] [metabase.util.malli :as mu] [metabase.util.malli.schema :as ms] [toucan2.core :as t2])) | |
Schema for the expected output of [[sync-dbms-version!]]. | (def DBMSVersion [:map [:version ms/NonBlankString]]) |
(mu/defn sync-dbms-version! :- [:maybe DBMSVersion]
"Get the DBMS version as provided by the driver and save it in the Database."
[database :- i/DatabaseInstance]
(let [driver (driver.u/database->driver database)
version (driver/dbms-version driver database)]
(when (not= version (:dbms_version database))
(t2/update! :model/Database (:id database) {:dbms_version version}))
version)) | |