0
我有一組測試數據,需要每天被部署到我們構建服務器(我們構建服務器數據庫第一次與當前實時數據庫覆蓋,並且已經刪除了所有超過一個月的數據)。
此測試數據在其中需要保留的外鍵引用。
我不能簡單地打開IDENTITY_INSERT,因爲主鍵可能與已經在數據庫中的數據衝突(因爲我們不是從空白數據庫開始的)。
測試數據需要能夠相當有規律地重新生成,所以雖然要經過部署腳本並將id列填充爲奇怪的東西(例如負數),然後更改相關的外鍵每次我們重新生成數據時,列都是相同的ID並不會讓我興奮不已。
理想情況下,我想知道是否有一個工具,它可以掃描數據庫,拿起外鍵約束,並相應產生的插入腳本,像:
INSERT INTO MyTable VALUES('TEST','TEST');
DECLARE @Id INT;
SET @Id = (SELECT @@IDENTITY)
INSERT INTO MyRelatedTable VALUES(@Id,'TEST')
你想在這裏做什麼樣的測試?我會認爲對於一個測試系統,你總是希望用一個給定的,已知的一組數據加載它 - 你的測試的預期結果將如何保持新鮮? – 2013-04-11 11:55:06
爲了確保當前的實時數據不會導致任何問題,我們的測試還會掃描這些數據(這就是爲什麼我們只能在構建服務器上清除超過一個月的數據)。正如你所說,加載已知數據的想法是,我們針對該數據運行的測試將能夠斷言計數和值是否正確。 – Ben 2013-04-11 12:06:37