[英]SQL Server pre-deploy script to recreate table new columns and preserve data
我在ASP.NET MVC中創建了一個項目,該項目帶有一個單獨的數據庫項目,每次更改表時都會運行該項目。 我唯一的問題是,例如,如果我添加一列,它將刪除整個數據庫並重新創建它,並刪除表中的所有數據。
是否有人知道部署前腳本或我可以用來添加/刪除/重命名表或列並同時保持數據完整性的方法? 即在修改數據庫時保留我的數據
您可以使用SQL Server函數重命名列,但是這樣做有可能破壞數據庫中其他函數或存儲過程使用的腳本。 我不贊成這種做法,因此在下面不作介紹。 添加或刪除列是公平的游戲。
您可以使用以下查詢將列添加到表中:
ALTER TABLE [YourTable]
ADD [ColumnName] [Datatype];
您可以使用以下查詢刪除列:
ALTER TABLE [YourTable]
DROP COLUMN [ColumnName];
這些SQL命令將保留表中的其他列。 如果要更改列名,建議您在SQL Server客戶端中設置一個視圖,並為該列命名。
可以使用以下方法完成此操作:
CREATE VIEW [ViewName]
AS
SELECT [ColumnName] AS [ColumnAlias]
FROM [TableName]
GO
除了可以查詢[ColumnAlias]
而不是[ColumnName]
之外,您將能夠以與查詢普通表上的SELECT相同的方式在視圖上執行SELECTS。 您不能在視圖上執行INSERT或DELETE查詢,但是
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.