@@ -267,15 +267,16 @@ deleteDeployment :: PgPool -> DeploymentName -> IO Int64
267267deleteDeployment p n = withResource p $ \conn ->
268268 execute conn "DELETE FROM deployments WHERE name = ?" (Only n)
269269
270−updateH :: DeploymentName -> DeploymentTag -> AppM NoContent
271−updateH dName dTag = do
270+updateH :: DeploymentName -> DeploymentUpdate -> AppM NoContent
271+updateH dName DeploymentUpdate { newTag = dTag, newEnvs = dEnvs } = do
272272 st <- ask
273− let
274− pgPool = pool st
273+ let pgPool = pool st
275274 retrieved <- liftIO $ selectEnvPairs pgPool dName
276275 case retrieved of
277276 storedEnv : _ -> do
278− envPairs <- liftIO $ parseEnvs $ lines storedEnv
277+ envPairs <- liftIO $ case dEnvs of
278+ [] -> parseEnvs $ lines storedEnv
279+ _ -> pure dEnvs
279280 let
280281 log = logInfo (logger st)
281282 args = [ "--project-name", coerce $ project_name st