0
當我的某個目標函數發生錯誤時,我希望我的應用程序首先使用DropDb,然後失敗。但是,當我有以下代碼:如何使用F#FAKE的DropDb後跟failwith?
DropDb *databaseInfo* |> ignore
failwith "Migration failed"
DropDb丟棄數據庫之前,應用程序失敗。
一旦DropDb完成,我該如何才能讓應用程序失敗?
當我的某個目標函數發生錯誤時,我希望我的應用程序首先使用DropDb,然後失敗。但是,當我有以下代碼:如何使用F#FAKE的DropDb後跟failwith?
DropDb *databaseInfo* |> ignore
failwith "Migration failed"
DropDb丟棄數據庫之前,應用程序失敗。
一旦DropDb完成,我該如何才能讓應用程序失敗?
我似乎找到了問題:
在我的劇本,我已經跑了DROPDB之前,然後創建一個數據庫一次。假冒的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,沒有的代碼運行再次創建數據庫的更新緩存。