module MigrationIdempotencyTest where
import Database.Persist.TH
import qualified Data.Text as T
import Init
#ifdef WITH_NOSQL
mkPersist persistSettings [persistUpperCase|
#else
share [mkPersist sqlSettings, mkMigrate "migration"] [persistLowerCase|
#endif
Idempotency
field1 Int
field2 T.Text sqltype=varchar(5)
field3 T.Text sqltype=mediumtext
field4 T.Text sqltype=longtext
field5 T.Text sqltype=mediumblob
field6 T.Text sqltype=longblob
field7 Double sqltype=double(6,5)
|]
specs :: Spec
specs = describe "MySQL migration with backend-specific sqltypes" $ do
#ifdef WITH_NOSQL
return ()
#else
it "is idempotent" $ db $ do
again <- getMigration migration
liftIO $ again @?= []
#endif