我正在测试我的PHP CMS Web应用程序从旧版本(版本1)升级到新版本(版本2)。它使用SQL Server 2008 R2数据库。
作为测试和文档编制过程的一部分,我需要获取升级期间对数据库结构所做的所有更改的列表。要做到这一点,我使用Microsoft Visual Studio 2015社区版进行比较和"差异"数据库的两个版本。 Visual Studio为我提供了升级期间对数据库表所做的所有更改的列表。这太棒了,但有些东西我不喜欢。
当一个列已添加到新版本数据库的表中时,似乎Visual Studio 2015架构比较工具会以这种方式生成用于添加新列的sql语句:
CREATE TABLE [dbo].[tmp_ms_xx_users]
INSERT INTO [dbo].[tmp_ms_xx_users]
SELECT... FROM [dbo].[users]
DROP TABLE [dbo].[users]
EXECUTE sp_rename N'[dbo].[tmp_ms_xx_users]', N'users'
[dbo].[users]
表现在包含所有原始数据和新列。没关系,但我不喜欢在我的文档中使用临时表和DROP TABLE语句。
有没有办法让Visual Studio生成表格更改语句
ALTER TABLE [dbo].[users] ADD [a_new_column] ...
或
ALTER TABLE [dbo].[users] DROP COLUMN [old_column] ...
语句而不是使用临时表?
这将使我的文档更好。 (我只是出于文档目的而这样做。应用安装程序实际上会在升级过程中处理所有数据库更改。)
感谢。