2016-11-01 18 views
0

到目前爲止,使用帶有nodejs的數據庫,設置工作得很好。我把這一切都放在circleci上,測試通過摩卡運行並輸出junit多次測試運行後,Sequelizejs /未知關係「xxx」

新的數據庫(意味着剛創建它並運行遷移,沒有測試),測試通過沒有問題。然後,在2/3左右的部署之後,它會停止傳遞,並且我陷入「未知關係」xxx「...'

刪除數據庫,重新運行遷移,重新部署,測試再次通過。

到目前爲止,似乎運行測試「數據庫惡化」時間過後,它需要再次使其新鮮。我不知道它來自哪裏。

我做清潔各表並通過爲每個測試中beforehook(刪除所有記錄),但沒有特定的除了它

經驗幫助apreciated

最佳。

回答

1

也許您可以在測試之前/之後嘗試db.sync({force:true}),以便在重新創建表之前刪除表。

Syncing

+0

恩,如果你在生產這種情況會怎麼樣?不確定你會強制同步。可能有一個特定的事情來確保 – Ben

+0

僅在測試中使用,而不是在生產中。 –

+0

顯然。我的意思是,如果它在測試過程中發生,它可能發生在生產中; sync-force將無助於確保它不會 – Ben