gpt4 book ai didi

visual-studio-2010 - VS 2010 数据库项目删除有关列名称更改的数据

转载 作者:行者123 更新时间:2023-12-04 23:10:00 24 4
gpt4 key购买 nike

我正在测试 Visual Studio 2010 的新数据库项目功能,并希望更改表中列的名称。我更改了创建脚本中的名称并将其部署到数据库中。生成的脚本只是删除了该列并添加了一个具有正确名称的新列,但所有数据都丢失了。

有没有不会删除列数据的设置?

我正在寻找针对此问题的“DataDude”解决方案。 (如果有的话)

PRINT N'Altering [dbo].[Users]...';

GO
ALTER TABLE [dbo].[Users] DROP COLUMN [TestX];

GO
ALTER TABLE [dbo].[Users]
ADD [Testn] NVARCHAR (50) NULL;

GO

谢谢,
基思

最佳答案

通过单击 View -> Database Schema View 使用 Schema View

展开表及其列。

右键单击该列,然后单击重构 -> 重命名...

在选中预览更改框的情况下更改新名称字段中的名称。

请注意,它不仅会更改列名,还会更改可能引用该列的存储过程。

在数据库项目中,创建了一个 refactorlog 文件,显示名称更改。

当针对现有数据库部署新模式时,DataDude 似乎会查看 refactorlog 文件和 dbo._Refactorlog 表,以确定需要针对数据库处理哪些重构。

这是它使用此过程生成的代码,更改也在存储过程中引用的列名:

EXECUTE sp_rename @objname = N'[dbo].[Users].[TestF]', @newname = N'TestG', @objtype = N'COLUMN';

GO
PRINT N'Altering [dbo].[ListUsers]...';

GO
ALTER PROCEDURE [dbo].[ListUsers]

AS
SELECT [ID], [FirstName], [LastName], [TestG]
FROM Users
RETURN 0
GO

基思

关于visual-studio-2010 - VS 2010 数据库项目删除有关列名称更改的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3016913/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com