在.sqlproj中,我更改了表的名称(以及其他更改)。 我通过右键单击'重构'在Visual Studio 2012中进行了重命名。选项。 当我尝试发布更改时,部署脚本具有CREATE TABLE命令,而不是用于表重命名的ALTER TABLE命令。 我在这里做错了什么?
答案 0 :(得分:2)
我已经解决了问题的根源。我发布脚本的数据库是真实数据库的副本(bacpac)。 bacpac缺少dbo .__ RefactorLog表,因此在运行脚本时忽略了refactorlog文件并只创建了数据库。
答案 1 :(得分:0)
你会改变已经存在的东西,因为脚本创建了你应该留下的表CREATE TABLE
你在脚本中更改名称并没有做任何事情,只是试图改变一个不存在的表的名称显然会导致错误。
此外,如果您已经有一个名为foo
的表,并且您想将其名称从foo
更改为bar
,则不会使用Alter table命令,但以下系统存储过程
EXECUTE sp_rename 'dbo.foo', 'bar'