Kei*_*ons 4 data-integrity visual-studio-2010 datadude
我正在测试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
Run Code Online (Sandbox Code Playgroud)
谢谢,基思
单击"查看" - >"数据库架构视图",使用"架构视图"
展开表及其列.
右键单击该列,然后单击"重构" - >"重命名..."
使用"预览更改"框更改"新名称"字段中的名称.
请注意,它不仅更改列名称,还更改可能引用该列的存储过程.
在Database项目中,创建了一个显示名称更改的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
Run Code Online (Sandbox Code Playgroud)
基思
归档时间: |
|
查看次数: |
4135 次 |
最近记录: |