From a97bdbbede869fc003222ceb59656577a1ad4189 Mon Sep 17 00:00:00 2001 From: Dan Brooks Date: Wed, 22 May 2024 19:43:40 +0100 Subject: [PATCH] Add initial test to highlight issue --- persistent-test/src/MigrationTest.hs | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/persistent-test/src/MigrationTest.hs b/persistent-test/src/MigrationTest.hs index 7ee8255e0..d818a93af 100644 --- a/persistent-test/src/MigrationTest.hs +++ b/persistent-test/src/MigrationTest.hs @@ -4,6 +4,7 @@ module MigrationTest where import Database.Persist.TH import qualified Data.Text as T +import Data.Time import Init @@ -36,6 +37,13 @@ Source1 sql=source field4 Target1Id |] +share [mkPersist sqlSettings, mkMigrate "migrationWithDefaultTime"] [persistLowerCase| +TimeDefault + field3 Int + extra UTCTime default=current_timestamp + field4 Target1Id +|] + specsWith :: (MonadUnliftIO m) => RunDb SqlBackend m -> Spec specsWith runDb = describe "Migration" $ do it "is idempotent" $ runDb $ do @@ -53,3 +61,7 @@ specsWith runDb = describe "Migration" $ do void $ runMigrationSilent migrationAddCol again <- getMigration migrationAddCol liftIO $ again @?= [] + it "is idempotent (default time example)" $ runDb $ do + void $ runMigrationSilent migrationWithDefaultTime + again <- getMigration migrationWithDefaultTime + liftIO $ again @?= ["ALTER TABLE \"time_default\" ALTER COLUMN \"extra\" SET DEFAULT current_timestamp"]