[英]What's the best way to update my asp.net application / database after changing the schema?
我的應用程序的幾個主要數據庫表中存在的核心字段之一需要從varchar(5)更改為varchar(8)。 依賴於這些表的存儲過程列表非常長,更不用說在我的數據訪問層(帶有TableAdapters的ASP.NET 2.0 DataSet)中必須進行的更改。
是否有任何方法可以自動( 安全地 )更改所有重要字段的類型,並使更改傳播到所有依賴此字段的存儲過程/數據訪問層調用?
我正在使用SQL Server 2005數據庫。
您可能對Scott Ambler的有關數據庫重構的這篇文章感興趣。 我認為他也有一本書。 我認為,基本思想是引入一個具有適當寬度的新列,將現有數據復制到新列中,實現一個觸發器以同步所有新的插入/更新,遷移您的SP / DAL以使用新列,然后完成后,請刪除舊列。 顯然,所有新代碼都使用新列。 不幸的是,我不知道有任何自動方法可以對SP / DAL進行更新。
CommandBuilder可能對您有用,也可能沒有用。 它具有優點和缺點(就像我猜的一樣)。 至於這個階段您能得到多少好處,我不知道,但是它存在並且可以使用,所以我認為我應該提出來:)
我個人將以此為契機來查看我的數據訪問層。 您所做的更改很小,但是對系統產生了深遠的影響, 為什么呢?
如果您預見到系統會有更多變化,那么我一定會更多地考慮DAL的結構,以及為什么小的變化會產生如此大的影響。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.