From 9f4e5cc96daed95d6ee87e5e2c6c14f4fefabe9d Mon Sep 17 00:00:00 2001 From: ymeister <47071325+ymeister@users.noreply.github.com> Date: Mon, 11 Sep 2023 21:40:35 +0400 Subject: [PATCH] Increase verbosity --- src/Database/Beam/AutoMigrate.hs | 2 ++ src/Database/Beam/AutoMigrate/Postgres.hs | 11 +++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/Database/Beam/AutoMigrate.hs b/src/Database/Beam/AutoMigrate.hs index d457b84..14a6976 100644 --- a/src/Database/Beam/AutoMigrate.hs +++ b/src/Database/Beam/AutoMigrate.hs @@ -712,7 +712,9 @@ tryRunMigrationsWithEditUpdate -> IO () tryRunMigrationsWithEditUpdate annotatedDb editUpdate conn = do let expectedHaskellSchema = fromAnnotatedDbSettings annotatedDb (Proxy @'[]) + putStrLn "Acquiring actual schema." actualDatabaseSchema <- getSchema conn + putStrLn "Calculating the difference between actual and expected schemas." case diff expectedHaskellSchema actualDatabaseSchema of Left err -> do putStrLn "Error detecting database migration requirements: " diff --git a/src/Database/Beam/AutoMigrate/Postgres.hs b/src/Database/Beam/AutoMigrate/Postgres.hs index 38f51c0..9726376 100644 --- a/src/Database/Beam/AutoMigrate/Postgres.hs +++ b/src/Database/Beam/AutoMigrate/Postgres.hs @@ -205,12 +205,16 @@ referenceActionsQ = -- | Connects to a running PostgreSQL database and extract the relevant 'Schema' out of it. getSchema :: Pg.Connection -> IO Schema getSchema conn = do + putStrLn "Getting constraints." allTableConstraints <- getAllConstraints conn + putStrLn "Getting defaults." allDefaults <- getAllDefaults conn + putStrLn "Getting enumerations." enumerationData <- Pg.fold_ conn enumerationsQ mempty getEnumeration + putStrLn "Getting sequences." sequences <- Pg.fold_ conn sequencesQ mempty getSequence - tables <- - Pg.fold_ conn userTablesQ mempty (getTable allDefaults enumerationData allTableConstraints) + putStrLn "Getting tables." + tables <- Pg.fold_ conn userTablesQ mempty (getTable allDefaults enumerationData allTableConstraints) pure $ Schema tables (M.fromList $ M.elems enumerationData) sequences where getEnumeration :: @@ -454,8 +458,11 @@ getAllDefaults conn = Pg.fold_ conn defaultsQ mempty (\acc -> pure . addDefault getAllConstraints :: Pg.Connection -> IO AllTableConstraints getAllConstraints conn = do + putStrLn "Get all actions." allActions <- mkActions <$> Pg.query_ conn referenceActionsQ + putStrLn "Get all foreign keys." allForeignKeys <- Pg.fold_ conn foreignKeysQ mempty (\acc -> pure . addFkConstraint allActions acc) + putStrLn "Get other constraints." Pg.fold_ conn otherConstraintsQ allForeignKeys (\acc -> pure . addOtherConstraint acc) where addFkConstraint ::