[英]How do I use F# FAKE's DropDb followed by a failwith?
當我的Target函數之一引發錯誤時,我希望我的應用程序先運行DropDb,然后失敗。 但是當我有以下代碼時:
DropDb *databaseInfo* |> ignore
failwith "Migration failed"
在DropDb刪除數據庫之前,應用程序將失敗。
如何使應用程序僅在DropDb完成后失敗?
我似乎發現了問題:
在我的腳本中,我之前已經運行過DropDb,然后再次創建了一個數據庫。 FAKE中DropDb的代碼是:
let DropDb serverInfo =
if intitialCatalogExistsOnServer serverInfo then
logfn "Dropping database %s on server %s" (getDBName serverInfo) (getServerName serverInfo)
(getDatabase serverInfo).DropBackupHistory |> ignore
getDBName serverInfo |> serverInfo.Server.KillDatabase
serverInfo
serverInfo
已存儲在一個緩存中,該緩存在我之前的腳本中並未通過再次創建數據庫的腳本進行更新,因此, initialCatalogExistsOnServer
返回false,並且沒有代碼運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.